30 readonly Type typeInstance;
31 readonly EventInfo eventInfo;
40 this.typeInstance = typeInstance;
41 this.eventInfo = eventInfo;
44 public override bool Equals(
object obj)
47 return other !=
null && other.typeInstance == typeInstance && other.eventInfo == eventInfo;
52 return typeInstance.GetHashCode() * 777 + eventInfo.GetHashCode();
57 get {
return eventInfo.Attributes; }
60 private MethodInfo Wrap(MethodInfo method)
70 return Wrap(eventInfo.GetAddMethod(nonPublic));
75 return Wrap(eventInfo.GetRaiseMethod(nonPublic));
80 return Wrap(eventInfo.GetRemoveMethod(nonPublic));
85 var others = eventInfo.GetOtherMethods(nonPublic);
86 for (
int i = 0; i < others.Length; i++)
87 others[i] = Wrap(others[i]);
94 var others = eventInfo.__GetMethods();
95 for (
int i = 0; i < others.Length; i++)
96 others[i] = Wrap(others[i]);
103 get {
return eventInfo.EventHandlerType.BindTypeParameters(typeInstance); }
108 get {
return eventInfo.Name; }
113 get {
return typeInstance; }
116 public override Module Module
118 get {
return eventInfo.Module; }
123 get {
return eventInfo.MetadataToken; }
126 internal override EventInfo BindTypeParameters(Type type)
128 return new GenericEventInfo(typeInstance.BindTypeParameters(type), eventInfo);
131 internal override bool IsPublic
133 get {
return eventInfo.IsPublic; }
136 internal override bool IsNonPrivate
138 get {
return eventInfo.IsNonPrivate; }
141 internal override bool IsStatic
143 get {
return eventInfo.IsStatic; }
146 internal override bool IsBaked
148 get {
return eventInfo.IsBaked; }
151 internal override int GetCurrentToken()
153 return eventInfo.GetCurrentToken();