mscorlib(4.0.0.0) API with additions
MethodBase.cs
1 using System.Diagnostics;
5 using System.Security;
7 using System.Text;
8 using System.Threading;
9 
10 namespace System.Reflection
11 {
13  [Serializable]
14  [ClassInterface(ClassInterfaceType.None)]
15  [ComDefaultInterface(typeof(_MethodBase))]
16  [ComVisible(true)]
17  [__DynamicallyInvokable]
18  [PermissionSet(SecurityAction.InheritanceDemand, Name = "FullTrust")]
19  public abstract class MethodBase : MemberInfo, _MethodBase
20  {
21  internal virtual bool IsDynamicallyInvokable
22  {
23  [__DynamicallyInvokable]
24  get
25  {
26  return true;
27  }
28  }
29 
32  [__DynamicallyInvokable]
34  {
35  [__DynamicallyInvokable]
36  get
37  {
39  }
40  }
41 
44  [__DynamicallyInvokable]
45  public abstract RuntimeMethodHandle MethodHandle
46  {
47  [__DynamicallyInvokable]
48  get;
49  }
50 
53  [__DynamicallyInvokable]
54  public abstract MethodAttributes Attributes
55  {
56  [__DynamicallyInvokable]
57  get;
58  }
59 
62  [__DynamicallyInvokable]
64  {
65  [__DynamicallyInvokable]
66  get
67  {
68  return CallingConventions.Standard;
69  }
70  }
71 
75  [__DynamicallyInvokable]
76  public virtual bool IsGenericMethodDefinition
77  {
78  [__DynamicallyInvokable]
79  get
80  {
81  return false;
82  }
83  }
84 
88  [__DynamicallyInvokable]
89  public virtual bool ContainsGenericParameters
90  {
91  [__DynamicallyInvokable]
92  get
93  {
94  return false;
95  }
96  }
97 
101  [__DynamicallyInvokable]
102  public virtual bool IsGenericMethod
103  {
104  [__DynamicallyInvokable]
105  get
106  {
107  return false;
108  }
109  }
110 
114  public virtual bool IsSecurityCritical
115  {
116  get
117  {
118  throw new NotImplementedException();
119  }
120  }
121 
125  public virtual bool IsSecuritySafeCritical
126  {
127  get
128  {
129  throw new NotImplementedException();
130  }
131  }
132 
136  public virtual bool IsSecurityTransparent
137  {
138  get
139  {
140  throw new NotImplementedException();
141  }
142  }
143 
147  [__DynamicallyInvokable]
148  public bool IsPublic
149  {
150  [__DynamicallyInvokable]
151  get
152  {
153  return (Attributes & MethodAttributes.MemberAccessMask) == MethodAttributes.Public;
154  }
155  }
156 
160  [__DynamicallyInvokable]
161  public bool IsPrivate
162  {
163  [__DynamicallyInvokable]
164  get
165  {
166  return (Attributes & MethodAttributes.MemberAccessMask) == MethodAttributes.Private;
167  }
168  }
169 
173  [__DynamicallyInvokable]
174  public bool IsFamily
175  {
176  [__DynamicallyInvokable]
177  get
178  {
179  return (Attributes & MethodAttributes.MemberAccessMask) == MethodAttributes.Family;
180  }
181  }
182 
186  [__DynamicallyInvokable]
187  public bool IsAssembly
188  {
189  [__DynamicallyInvokable]
190  get
191  {
192  return (Attributes & MethodAttributes.MemberAccessMask) == MethodAttributes.Assembly;
193  }
194  }
195 
199  [__DynamicallyInvokable]
200  public bool IsFamilyAndAssembly
201  {
202  [__DynamicallyInvokable]
203  get
204  {
205  return (Attributes & MethodAttributes.MemberAccessMask) == MethodAttributes.FamANDAssem;
206  }
207  }
208 
212  [__DynamicallyInvokable]
213  public bool IsFamilyOrAssembly
214  {
215  [__DynamicallyInvokable]
216  get
217  {
218  return (Attributes & MethodAttributes.MemberAccessMask) == MethodAttributes.FamORAssem;
219  }
220  }
221 
225  [__DynamicallyInvokable]
226  public bool IsStatic
227  {
228  [__DynamicallyInvokable]
229  get
230  {
231  return (Attributes & MethodAttributes.Static) != MethodAttributes.PrivateScope;
232  }
233  }
234 
238  [__DynamicallyInvokable]
239  public bool IsFinal
240  {
241  [__DynamicallyInvokable]
242  get
243  {
244  return (Attributes & MethodAttributes.Final) != MethodAttributes.PrivateScope;
245  }
246  }
247 
251  [__DynamicallyInvokable]
252  public bool IsVirtual
253  {
254  [__DynamicallyInvokable]
255  get
256  {
257  return (Attributes & MethodAttributes.Virtual) != MethodAttributes.PrivateScope;
258  }
259  }
260 
264  [__DynamicallyInvokable]
265  public bool IsHideBySig
266  {
267  [__DynamicallyInvokable]
268  get
269  {
270  return (Attributes & MethodAttributes.HideBySig) != MethodAttributes.PrivateScope;
271  }
272  }
273 
277  [__DynamicallyInvokable]
278  public bool IsAbstract
279  {
280  [__DynamicallyInvokable]
281  get
282  {
283  return (Attributes & MethodAttributes.Abstract) != MethodAttributes.PrivateScope;
284  }
285  }
286 
290  [__DynamicallyInvokable]
291  public bool IsSpecialName
292  {
293  [__DynamicallyInvokable]
294  get
295  {
296  return (Attributes & MethodAttributes.SpecialName) != MethodAttributes.PrivateScope;
297  }
298  }
299 
303  [ComVisible(true)]
304  [__DynamicallyInvokable]
305  public bool IsConstructor
306  {
307  [__DynamicallyInvokable]
308  get
309  {
310  if (this is ConstructorInfo && !IsStatic)
311  {
312  return (Attributes & MethodAttributes.RTSpecialName) == MethodAttributes.RTSpecialName;
313  }
314  return false;
315  }
316  }
317 
318  internal string FullName => $"{DeclaringType.FullName}.{FormatNameAndSig()}";
319 
322  bool _MethodBase.IsPublic
323  {
324  get
325  {
326  return IsPublic;
327  }
328  }
329 
333  {
334  get
335  {
336  return IsPrivate;
337  }
338  }
339 
342  bool _MethodBase.IsFamily
343  {
344  get
345  {
346  return IsFamily;
347  }
348  }
349 
353  {
354  get
355  {
356  return IsAssembly;
357  }
358  }
359 
363  {
364  get
365  {
366  return IsFamilyAndAssembly;
367  }
368  }
369 
373  {
374  get
375  {
376  return IsFamilyOrAssembly;
377  }
378  }
379 
382  bool _MethodBase.IsStatic
383  {
384  get
385  {
386  return IsStatic;
387  }
388  }
389 
392  bool _MethodBase.IsFinal
393  {
394  get
395  {
396  return IsFinal;
397  }
398  }
399 
403  {
404  get
405  {
406  return IsVirtual;
407  }
408  }
409 
413  {
414  get
415  {
416  return IsHideBySig;
417  }
418  }
419 
423  {
424  get
425  {
426  return IsAbstract;
427  }
428  }
429 
433  {
434  get
435  {
436  return IsSpecialName;
437  }
438  }
439 
443  {
444  get
445  {
446  return IsConstructor;
447  }
448  }
449 
455  [__DynamicallyInvokable]
457  {
458  if (handle.IsNullHandle())
459  {
460  throw new ArgumentException(Environment.GetResourceString("Argument_InvalidHandle"));
461  }
462  MethodBase methodBase = RuntimeType.GetMethodBase(handle.GetMethodInfo());
463  Type declaringType = methodBase.DeclaringType;
464  if (declaringType != null && declaringType.IsGenericType)
465  {
466  throw new ArgumentException(string.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("Argument_MethodDeclaringTypeGeneric"), methodBase, declaringType.GetGenericTypeDefinition()));
467  }
468  return methodBase;
469  }
470 
477  [ComVisible(false)]
478  [__DynamicallyInvokable]
480  {
481  if (handle.IsNullHandle())
482  {
483  throw new ArgumentException(Environment.GetResourceString("Argument_InvalidHandle"));
484  }
485  return RuntimeType.GetMethodBase(declaringType.GetRuntimeType(), handle.GetMethodInfo());
486  }
487 
492  [MethodImpl(MethodImplOptions.NoInlining)]
493  public static MethodBase GetCurrentMethod()
494  {
495  StackCrawlMark stackMark = StackCrawlMark.LookForMyCaller;
496  return RuntimeMethodInfo.InternalGetCurrentMethod(ref stackMark);
497  }
498 
504  [__DynamicallyInvokable]
505  public static bool operator ==(MethodBase left, MethodBase right)
506  {
507  if ((object)left == right)
508  {
509  return true;
510  }
511  if ((object)left == null || (object)right == null)
512  {
513  return false;
514  }
515  MethodInfo left2;
516  MethodInfo right2;
517  if ((left2 = (left as MethodInfo)) != null && (right2 = (right as MethodInfo)) != null)
518  {
519  return left2 == right2;
520  }
521  ConstructorInfo left3;
522  ConstructorInfo right3;
523  if ((left3 = (left as ConstructorInfo)) != null && (right3 = (right as ConstructorInfo)) != null)
524  {
525  return left3 == right3;
526  }
527  return false;
528  }
529 
535  [__DynamicallyInvokable]
536  public static bool operator !=(MethodBase left, MethodBase right)
537  {
538  return !(left == right);
539  }
540 
545  [__DynamicallyInvokable]
546  public override bool Equals(object obj)
547  {
548  return base.Equals(obj);
549  }
550 
553  [__DynamicallyInvokable]
554  public override int GetHashCode()
555  {
556  return base.GetHashCode();
557  }
558 
559  [SecurityCritical]
560  private IntPtr GetMethodDesc()
561  {
562  return MethodHandle.Value;
563  }
564 
565  internal virtual ParameterInfo[] GetParametersNoCopy()
566  {
567  return GetParameters();
568  }
569 
572  [__DynamicallyInvokable]
573  public abstract ParameterInfo[] GetParameters();
574 
578 
592  public abstract object Invoke(object obj, BindingFlags invokeAttr, Binder binder, object[] parameters, CultureInfo culture);
593 
597  [ComVisible(true)]
598  [__DynamicallyInvokable]
599  public virtual Type[] GetGenericArguments()
600  {
601  throw new NotSupportedException(Environment.GetResourceString("NotSupported_SubclassOverride"));
602  }
603 
618  [DebuggerStepThrough]
619  [DebuggerHidden]
620  [__DynamicallyInvokable]
621  public object Invoke(object obj, object[] parameters)
622  {
623  return Invoke(obj, BindingFlags.Default, null, parameters, null);
624  }
625 
629  [SecuritySafeCritical]
630  [ReflectionPermission(SecurityAction.Demand, Flags = ReflectionPermissionFlag.MemberAccess)]
631  public virtual MethodBody GetMethodBody()
632  {
633  throw new InvalidOperationException();
634  }
635 
636  internal static string ConstructParameters(Type[] parameterTypes, CallingConventions callingConvention, bool serialization)
637  {
638  StringBuilder stringBuilder = new StringBuilder();
639  string value = "";
640  foreach (Type type in parameterTypes)
641  {
642  stringBuilder.Append(value);
643  string text = type.FormatTypeName(serialization);
644  if (type.IsByRef && !serialization)
645  {
646  stringBuilder.Append(text.TrimEnd('&'));
647  stringBuilder.Append(" ByRef");
648  }
649  else
650  {
651  stringBuilder.Append(text);
652  }
653  value = ", ";
654  }
655  if ((callingConvention & CallingConventions.VarArgs) == CallingConventions.VarArgs)
656  {
657  stringBuilder.Append(value);
658  stringBuilder.Append("...");
659  }
660  return stringBuilder.ToString();
661  }
662 
663  internal string FormatNameAndSig()
664  {
665  return FormatNameAndSig(serialization: false);
666  }
667 
668  internal virtual string FormatNameAndSig(bool serialization)
669  {
670  StringBuilder stringBuilder = new StringBuilder(Name);
671  stringBuilder.Append("(");
672  stringBuilder.Append(ConstructParameters(GetParameterTypes(), CallingConvention, serialization));
673  stringBuilder.Append(")");
674  return stringBuilder.ToString();
675  }
676 
677  internal virtual Type[] GetParameterTypes()
678  {
679  ParameterInfo[] parametersNoCopy = GetParametersNoCopy();
680  Type[] array = new Type[parametersNoCopy.Length];
681  for (int i = 0; i < parametersNoCopy.Length; i++)
682  {
683  array[i] = parametersNoCopy[i].ParameterType;
684  }
685  return array;
686  }
687 
688  [SecuritySafeCritical]
689  internal object[] CheckArguments(object[] parameters, Binder binder, BindingFlags invokeAttr, CultureInfo culture, Signature sig)
690  {
691  object[] array = new object[parameters.Length];
692  ParameterInfo[] array2 = null;
693  for (int i = 0; i < parameters.Length; i++)
694  {
695  object obj = parameters[i];
696  RuntimeType runtimeType = sig.Arguments[i];
697  if (obj == Type.Missing)
698  {
699  if (array2 == null)
700  {
701  array2 = GetParametersNoCopy();
702  }
703  if (array2[i].DefaultValue == DBNull.Value)
704  {
705  throw new ArgumentException(Environment.GetResourceString("Arg_VarMissNull"), "parameters");
706  }
707  obj = array2[i].DefaultValue;
708  }
709  array[i] = runtimeType.CheckValue(obj, binder, culture, invokeAttr);
710  }
711  return array;
712  }
713 
717  {
718  return GetType();
719  }
720 
724  void _MethodBase.GetTypeInfoCount(out uint pcTInfo)
725  {
726  throw new NotImplementedException();
727  }
728 
734  void _MethodBase.GetTypeInfo(uint iTInfo, uint lcid, IntPtr ppTInfo)
735  {
736  throw new NotImplementedException();
737  }
738 
746  void _MethodBase.GetIDsOfNames([In] ref Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId)
747  {
748  throw new NotImplementedException();
749  }
750 
761  void _MethodBase.Invoke(uint dispIdMember, [In] ref Guid riid, uint lcid, short wFlags, IntPtr pDispParams, IntPtr pVarResult, IntPtr pExcepInfo, IntPtr puArgErr)
762  {
763  throw new NotImplementedException();
764  }
765  }
766 }
Obtains information about the attributes of a member and provides access to member metadata.
Definition: MemberInfo.cs:14
virtual Type GetGenericTypeDefinition()
Returns a T:System.Type object that represents a generic type definition from which the current gener...
Definition: Type.cs:2443
MethodAttributes
Specifies flags for method attributes. These flags are defined in the corhdr.h file.
bool IsConstructor
Gets a value indicating whether the method is a constructor.
Definition: MethodBase.cs:306
override bool Equals(object obj)
Returns a value that indicates whether this instance is equal to a specified object.
Definition: MethodBase.cs:546
bool IsHideBySig
Provides COM objects with version-independent access to the P:System.Reflection.MethodBase....
Definition: _MethodBase.cs:139
abstract object Invoke(object obj, BindingFlags invokeAttr, Binder binder, object[] parameters, CultureInfo culture)
When overridden in a derived class, invokes the reflected method or constructor with the given parame...
ReflectionPermissionFlag
Specifies the permitted use of the N:System.Reflection and N:System.Reflection.Emit namespaces.
static MethodBase GetCurrentMethod()
Returns a MethodBase object representing the currently executing method.
Definition: MethodBase.cs:493
abstract Type DeclaringType
Gets the class that declares this member.
Definition: MemberInfo.cs:36
unsafe override string ToString()
Converts the value of this instance to a T:System.String.
MethodImplAttributes
Specifies flags for the attributes of a method implementation.
Discovers the attributes of a method and provides access to method metadata.
Definition: MethodInfo.cs:13
bool IsHideBySig
Gets a value indicating whether only a member of the same kind with exactly the same signature is hid...
Definition: MethodBase.cs:266
bool IsVirtual
Gets a value indicating whether the method is virtual.
Definition: MethodBase.cs:253
virtual bool ContainsGenericParameters
Gets a value indicating whether the generic method contains unassigned generic type parameters.
Definition: MethodBase.cs:90
Discovers the attributes of a class constructor and provides access to constructor metadata.
BindingFlags
Specifies flags that control binding and the way in which the search for members and types is conduct...
Definition: BindingFlags.cs:10
Definition: __Canon.cs:3
abstract RuntimeMethodHandle MethodHandle
Gets a handle to the internal metadata representation of a method.
Definition: MethodBase.cs:46
bool IsAbstract
Provides COM objects with version-independent access to the P:System.Reflection.MethodBase....
Definition: _MethodBase.cs:147
bool IsFamily
Provides COM objects with version-independent access to the P:System.Reflection.MethodBase....
Definition: _MethodBase.cs:83
CallingConvention
Specifies the calling convention required to call methods implemented in unmanaged code.
void Invoke(uint dispIdMember, [In] ref Guid riid, uint lcid, short wFlags, IntPtr pDispParams, IntPtr pVarResult, IntPtr pExcepInfo, IntPtr puArgErr)
Provides access to properties and methods exposed by an object.
Represents a type using an internal metadata token.
bool IsFamilyAndAssembly
Gets a value indicating whether the visibility of this method or constructor is described by F:System...
Definition: MethodBase.cs:201
virtual bool IsGenericType
Gets a value indicating whether the current type is a generic type.
Definition: Type.cs:566
virtual bool IsSecurityCritical
Gets a value that indicates whether the current method or constructor is security-critical or securit...
Definition: MethodBase.cs:115
abstract MethodAttributes Attributes
Gets the attributes associated with this method.
Definition: MethodBase.cs:55
void GetTypeInfoCount(out uint pcTInfo)
Retrieves the number of type information interfaces that an object provides (either 0 or 1).
IntPtr Value
Gets the value of this instance.
bool IsStatic
Gets a value indicating whether the method is static.
Definition: MethodBase.cs:227
object Invoke(object obj, object[] parameters)
Invokes the method or constructor represented by the current instance, using the specified parameters...
Definition: MethodBase.cs:621
static bool operator==(MethodBase left, MethodBase right)
Indicates whether two T:System.Reflection.MethodBase objects are equal.
Definition: MethodBase.cs:505
bool IsAbstract
Gets a value indicating whether the method is abstract.
Definition: MethodBase.cs:279
Provides access to the metadata and MSIL for the body of a method.
Definition: MethodBody.cs:8
bool IsFinal
Gets a value indicating whether this method is final.
Definition: MethodBase.cs:240
CallingConventions
Defines the valid calling conventions for a method.
SecurityAction
Specifies the security actions that can be performed using declarative security.
void GetIDsOfNames([In] ref Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId)
Maps a set of names to a corresponding set of dispatch identifiers.
Provides information about, and means to manipulate, the current environment and platform....
Definition: Environment.cs:21
T:System.RuntimeMethodHandle is a handle to the internal metadata representation of a method.
bool IsPublic
Provides COM objects with version-independent access to the P:System.Reflection.MethodBase....
Definition: _MethodBase.cs:67
StringBuilder Append(char value, int repeatCount)
Appends a specified number of copies of the string representation of a Unicode character to this inst...
Represents a collection that can contain many different types of permissions.
virtual bool IsGenericMethod
Gets a value indicating whether the method is generic.
Definition: MethodBase.cs:103
bool IsSpecialName
Gets a value indicating whether this method has a special name.
Definition: MethodBase.cs:292
virtual bool IsSecurityTransparent
Gets a value that indicates whether the current method or constructor is transparent at the current t...
Definition: MethodBase.cs:137
override int GetHashCode()
Returns the hash code for this instance.
Definition: MethodBase.cs:554
virtual bool IsGenericMethodDefinition
Gets a value indicating whether the method is a generic method definition.
Definition: MethodBase.cs:77
bool IsPrivate
Gets a value indicating whether this member is private.
Definition: MethodBase.cs:162
static MethodBase GetMethodFromHandle(RuntimeMethodHandle handle)
Gets method information by using the method's internal metadata representation (handle).
Definition: MethodBase.cs:456
bool IsVirtual
Provides COM objects with version-independent access to the P:System.Reflection.MethodBase....
Definition: _MethodBase.cs:131
bool IsAssembly
Gets a value indicating whether the potential visibility of this method or constructor is described b...
Definition: MethodBase.cs:188
A database null (column) value.
A platform-specific type that is used to represent a pointer or a handle.
Definition: IntPtr.cs:14
static MethodBase GetMethodFromHandle(RuntimeMethodHandle handle, RuntimeTypeHandle declaringType)
Gets a T:System.Reflection.MethodBase object for the constructor or method represented by the specifi...
Definition: MethodBase.cs:479
bool IsFamilyOrAssembly
Gets a value indicating whether the potential visibility of this method or constructor is described b...
Definition: MethodBase.cs:214
bool IsAssembly
Provides COM objects with version-independent access to the P:System.Reflection.MethodBase....
Definition: _MethodBase.cs:91
bool IsSpecialName
Provides COM objects with version-independent access to the P:System.Reflection.MethodBase....
Definition: _MethodBase.cs:155
virtual MethodImplAttributes MethodImplementationFlags
Gets the T:System.Reflection.MethodImplAttributes flags that specify the attributes of a method imple...
Definition: MethodBase.cs:34
Represents type declarations: class types, interface types, array types, value types,...
Definition: Type.cs:18
Provides information about methods and constructors.
Definition: MethodBase.cs:19
bool IsPublic
Gets a value indicating whether this is a public method.
Definition: MethodBase.cs:149
MethodImplOptions
Defines the details of how a method is implemented.
void GetTypeInfo(uint iTInfo, uint lcid, IntPtr ppTInfo)
Retrieves the type information for an object, which can be used to get the type information for an in...
bool IsStatic
Provides COM objects with version-independent access to the P:System.Reflection.MethodBase....
Definition: _MethodBase.cs:115
abstract string Name
Gets the name of the current member.
Definition: MemberInfo.cs:27
virtual MethodBody GetMethodBody()
When overridden in a derived class, gets a T:System.Reflection.MethodBody object that provides access...
Definition: MethodBase.cs:631
bool IsPrivate
Provides COM objects with version-independent access to the P:System.Reflection.MethodBase....
Definition: _MethodBase.cs:75
Represents a mutable string of characters. This class cannot be inherited.To browse the ....
bool IsFamilyAndAssembly
Provides COM objects with version-independent access to the P:System.Reflection.MethodBase....
Definition: _MethodBase.cs:99
new Type GetType()
Provides COM objects with version-independent access to the M:System.Type.GetType method.
static CultureInfo CurrentCulture
Gets or sets the T:System.Globalization.CultureInfo object that represents the culture used by the cu...
Definition: CultureInfo.cs:120
The exception that is thrown when one of the arguments provided to a method is not valid.
virtual bool IsSecuritySafeCritical
Gets a value that indicates whether the current method or constructor is security-safe-critical at th...
Definition: MethodBase.cs:126
static bool operator !=(MethodBase left, MethodBase right)
Indicates whether two T:System.Reflection.MethodBase objects are not equal.
Definition: MethodBase.cs:536
Specifies that the class can be serialized.
The exception that is thrown when a method call is invalid for the object's current state.
ClassInterfaceType
Identifies the type of class interface that is generated for a class.
Specifies that the parameter is an input parameter.
virtual Type [] GetGenericArguments()
Returns an array of T:System.Type objects that represent the type arguments of a generic method or th...
Definition: MethodBase.cs:599
Provides information about a specific culture (called a locale for unmanaged code development)....
Definition: CultureInfo.cs:16
The exception that is thrown when an invoked method is not supported, or when there is an attempt to ...
bool IsByRef
Gets a value indicating whether the T:System.Type is passed by reference.
Definition: Type.cs:664
Exposes the public members of the T:System.Reflection.MethodBase class to unmanaged code.
Definition: _MethodBase.cs:12
Controls access to non-public types and members through the N:System.Reflection APIs....
abstract MethodImplAttributes GetMethodImplementationFlags()
When overridden in a derived class, returns the T:System.Reflection.MethodImplAttributes flags.
The exception that is thrown when a requested method or operation is not implemented.
bool IsFamilyOrAssembly
Provides COM objects with version-independent access to the P:System.Reflection.MethodBase....
Definition: _MethodBase.cs:107
abstract ParameterInfo [] GetParameters()
When overridden in a derived class, gets the parameters of the specified method or constructor.
bool IsFamily
Gets a value indicating whether the visibility of this method or constructor is described by F:System...
Definition: MethodBase.cs:175
bool IsFinal
Provides COM objects with version-independent access to the P:System.Reflection.MethodBase....
Definition: _MethodBase.cs:123
bool IsConstructor
Provides COM objects with version-independent access to the P:System.Reflection.MethodBase....
Definition: _MethodBase.cs:163