From: jpbruyere Date: Tue, 15 Sep 2015 16:19:53 +0000 (+0200) Subject: use addDelegate instead of set (to not erase other ones) X-Git-Tag: 0.2~10 X-Git-Url: https://git.osiis.dedyn.io/?a=commitdiff_plain;h=7c25a2d5a5fdf97184eaac20951453e4f442d310;p=jp%2Fcrow.git use addDelegate instead of set (to not erase other ones) --- diff --git a/src/CompilerServices/CompilerServices.cs b/src/CompilerServices/CompilerServices.cs index 4dd65195..3d4ebc5a 100644 --- a/src/CompilerServices/CompilerServices.cs +++ b/src/CompilerServices/CompilerServices.cs @@ -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}); } /// @@ -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}); }