3 using System.Globalization;
5 namespace System.Reflection {
7 public abstract class MethodBase: MemberInfo {
9 private CallingConventions call_conv;
11 public static MethodBase GetCurrentMethod()
16 public static MethodBase GetMethodFromHandle(RuntimeMethodHandle handle)
21 public abstract MethodImplAttributes GetMethodImplementationFlags();
23 public abstract ParameterInfo[] GetParameters();
25 public Object Invoke(Object obj, Object[] parameters) {
29 public abstract Object Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture);
31 protected MethodBase()
35 public abstract RuntimeMethodHandle MethodHandle { get; }
36 public abstract MethodAttributes Attributes { get; }
37 public virtual CallingConventions CallingConvention { get {return call_conv;} }
38 public Boolean IsPublic {
40 int attr = (int)Attributes;
41 return (attr & (int)MethodAttributes.Public) != 0;
44 public Boolean IsPrivate {
46 int attr = (int)Attributes;
47 return (attr & (int)MethodAttributes.Private) != 0;
50 public Boolean IsFamily {
52 int attr = (int)Attributes;
53 return (attr & (int)MethodAttributes.Family) != 0;
56 public Boolean IsAssembly {
58 int attr = (int)Attributes;
59 return (attr & (int)MethodAttributes.Assembly) != 0;
62 public Boolean IsFamilyAndAssembly {
64 int attr = (int)Attributes;
65 return (attr & (int)MethodAttributes.FamANDAssem) != 0;
68 public Boolean IsFamilyOrAssembly {
70 int attr = (int)Attributes;
71 return (attr & (int)MethodAttributes.FamORAssem) != 0;
74 public Boolean IsStatic {
76 int attr = (int)Attributes;
77 return (attr & (int)MethodAttributes.Static) != 0;
80 public Boolean IsFinal {
82 int attr = (int)Attributes;
83 return (attr & (int)MethodAttributes.Final) != 0;
86 public Boolean IsVirtual {
88 int attr = (int)Attributes;
89 return (attr & (int)MethodAttributes.Virtual) != 0;
92 public Boolean IsHideBySig {
94 int attr = (int)Attributes;
95 return (attr & (int)MethodAttributes.HideBySig) != 0;
98 public Boolean IsAbstract {
100 int attr = (int)Attributes;
101 return (attr & (int)MethodAttributes.Abstract) != 0;
104 public Boolean IsSpecialName {
106 int attr = (int)Attributes;
107 return (attr & (int)MethodAttributes.SpecialName) != 0;
110 public Boolean IsConstructor {
112 int attr = (int)Attributes;
113 return ((attr & (int)MethodAttributes.RTSpecialName) != 0
114 && (Name == ".ctor"));