aboutsummaryrefslogtreecommitdiffstatsci
path: root/src
diff options
context:
space:
mode:
authorjpbruyere <jp.bruyere@hotmail.com>2015-09-15 18:19:53 +0200
committerjpbruyere <jp.bruyere@hotmail.com>2015-09-15 18:19:53 +0200
commit7c25a2d5a5fdf97184eaac20951453e4f442d310 (patch)
tree4ba59616e95e247fae77fcc966d969286828d0c6 /src
parent63e0f0e6ffa2703ba128409b967dfe7b1135d6c4 (diff)
use addDelegate instead of set (to not erase other ones)
Diffstat (limited to 'src')
-rw-r--r--src/CompilerServices/CompilerServices.cs7
1 files changed, 3 insertions, 4 deletions
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});
}
/// <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});
}