]> O.S.I.I.S - jp/crow.git/commitdiff
use addDelegate instead of set (to not erase other ones)
authorjpbruyere <jp.bruyere@hotmail.com>
Tue, 15 Sep 2015 16:19:53 +0000 (18:19 +0200)
committerjpbruyere <jp.bruyere@hotmail.com>
Tue, 15 Sep 2015 16:19:53 +0000 (18:19 +0200)
src/CompilerServices/CompilerServices.cs

index 4dd6519537e12292742cfc05deb9143487cccc12..3d4ebc5afacb1fe54bd28332661ace385f8567cc 100644 (file)
@@ -133,9 +133,9 @@ namespace go
 
                        #endregion
 
-                       FieldInfo evtFi = GetEventHandlerField (srcType, es.MemberName);
-                       Delegate del = dm.CreateDelegate(evtFi.FieldType);
-                       evtFi.SetValue(es.Source, del);
+                       Delegate del = dm.CreateDelegate(ei.EventHandlerType);
+                       MethodInfo addHandler = ei.GetAddMethod ();
+                       addHandler.Invoke(es.Source, new object[] {del});
                }
 
                /// <summary>
@@ -340,7 +340,6 @@ namespace go
 
                        Delegate del = dm.CreateDelegate(ei.EventHandlerType);
                        MethodInfo addHandler = ei.GetAddMethod ();
-                       //Delegate del = dm.CreateDelegate(typeof(System.EventHandler));
                        addHandler.Invoke(srcGO, new object[] {del});
                }