24using System.Collections.Generic;
40 public sealed override MemberTypes MemberType
42 get {
return MemberTypes.Event; }
45 public abstract EventAttributes Attributes {
get; }
47 public abstract MethodInfo GetAddMethod(
bool nonPublic);
49 public abstract MethodInfo GetRaiseMethod(
bool nonPublic);
51 public abstract MethodInfo GetRemoveMethod(
bool nonPublic);
53 public abstract MethodInfo[] GetOtherMethods(
bool nonPublic);
57 public abstract Type EventHandlerType {
get; }
59 internal abstract bool IsPublic {
get; }
61 internal abstract bool IsNonPrivate {
get; }
63 internal abstract bool IsStatic {
get; }
65 public bool IsSpecialName
67 get {
return (Attributes & EventAttributes.SpecialName) != 0; }
72 return GetAddMethod(
false);
77 return GetRaiseMethod(
false);
82 return GetRemoveMethod(
false);
87 return GetOtherMethods(
false);
92 get {
return GetAddMethod(
true); }
97 get {
return GetRaiseMethod(
true); }
102 get {
return GetRemoveMethod(
true); }
107 return new GenericEventInfo(this.DeclaringType.BindTypeParameters(type),
this);
110 public override string ToString()
112 return this.DeclaringType.ToString() +
" " +
Name;
115 internal sealed override bool BindingFlagsMatch(BindingFlags flags)
117 return BindingFlagsMatch(IsPublic, flags, BindingFlags.Public, BindingFlags.NonPublic)
118 && BindingFlagsMatch(IsStatic, flags, BindingFlags.Static, BindingFlags.Instance);
121 internal sealed override bool BindingFlagsMatchInherited(BindingFlags flags)
124 && BindingFlagsMatch(IsPublic, flags, BindingFlags.Public, BindingFlags.NonPublic)
125 && BindingFlagsMatch(IsStatic, flags, BindingFlags.Static | BindingFlags.FlattenHierarchy, BindingFlags.Instance);
130 return new EventInfoWithReflectedType(type,
this);
133 internal sealed override List<CustomAttributeData> GetPseudoCustomAttributes(
Type attributeType)
IKVM.Reflection.Type Type
IKVM.Reflection.EventInfo EventInfo
IKVM.Reflection.MemberInfo MemberInfo
IKVM.Reflection.MethodInfo MethodInfo
global::java.lang.invoke.LambdaForm.Name Name