Запуск событий
На C# получаю метаданные о событии
public virtual void FireEvent(string name, params object[] args)
{
System.Reflection.EventInfo e=this.GetType().GetEvent(name, System.Reflection.BindingFlags.IgnoreCase);
}
А вот дальше что делать?
public virtual void FireEvent(string eventName, params object[] eventArgs)
{
System.Reflection.FieldInfo field = this.GetType().GetField(eventName, System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.IgnoreCase);
Delegate targetDelegate = (Delegate)field.GetValue(this);
targetDelegate.DynamicInvoke(eventArgs);
}