Class ClrMethodInfo
  
  Represents information about the method in an external CLR instance
 
  
  
    Inheritance
    System.Object
    System.Reflection.MemberInfo
    System.Reflection.MethodBase
    System.Reflection.MethodInfo
    ClrMethodInfo
   
  
    Implements
    System.Reflection.ICustomAttributeProvider
    System.Runtime.InteropServices._MemberInfo
    System.Runtime.InteropServices._MethodBase
    System.Runtime.InteropServices._MethodInfo
    
   
  
    Inherited Members
    
      System.Reflection.MethodInfo.Equals(System.Object)
    
    
      System.Reflection.MethodInfo.GetHashCode()
    
    
      System.Reflection.MethodInfo.GetGenericArguments()
    
    
      System.Reflection.MethodInfo.GetGenericMethodDefinition()
    
    
      System.Reflection.MethodInfo.MakeGenericMethod(System.Type[])
    
    
      System.Reflection.MethodInfo.CreateDelegate(System.Type)
    
    
      System.Reflection.MethodInfo.CreateDelegate(System.Type, System.Object)
    
    
      System.Reflection.MethodInfo.System.Runtime.InteropServices._MethodInfo.GetType()
    
    
      System.Reflection.MethodInfo.System.Runtime.InteropServices._MethodInfo.GetTypeInfoCount(System.UInt32)
    
    
      System.Reflection.MethodInfo.System.Runtime.InteropServices._MethodInfo.GetTypeInfo(System.UInt32, System.UInt32, System.IntPtr)
    
    
      System.Reflection.MethodInfo.System.Runtime.InteropServices._MethodInfo.GetIDsOfNames(System.Guid, System.IntPtr, System.UInt32, System.UInt32, System.IntPtr)
    
    
      System.Reflection.MethodInfo.System.Runtime.InteropServices._MethodInfo.Invoke(System.UInt32, System.Guid, System.UInt32, System.Int16, System.IntPtr, System.IntPtr, System.IntPtr, System.IntPtr)
    
    
      System.Reflection.MethodInfo.ReturnParameter
    
    
      System.Reflection.MethodBase.GetMethodFromHandle(System.RuntimeMethodHandle)
    
    
      System.Reflection.MethodBase.GetMethodFromHandle(System.RuntimeMethodHandle, System.RuntimeTypeHandle)
    
    
      System.Reflection.MethodBase.GetCurrentMethod()
    
    
      System.Reflection.MethodBase.Invoke(System.Object, System.Object[])
    
    
      System.Reflection.MethodBase.GetMethodBody()
    
    
      System.Reflection.MethodBase.System.Runtime.InteropServices._MethodBase.GetType()
    
    
      System.Reflection.MethodBase.System.Runtime.InteropServices._MethodBase.GetTypeInfoCount(System.UInt32)
    
    
      System.Reflection.MethodBase.System.Runtime.InteropServices._MethodBase.GetTypeInfo(System.UInt32, System.UInt32, System.IntPtr)
    
    
      System.Reflection.MethodBase.System.Runtime.InteropServices._MethodBase.GetIDsOfNames(System.Guid, System.IntPtr, System.UInt32, System.UInt32, System.IntPtr)
    
    
      System.Reflection.MethodBase.System.Runtime.InteropServices._MethodBase.Invoke(System.UInt32, System.Guid, System.UInt32, System.Int16, System.IntPtr, System.IntPtr, System.IntPtr, System.IntPtr)
    
    
      System.Reflection.MethodBase.MethodImplementationFlags
    
    
      System.Reflection.MethodBase.CallingConvention
    
    
      System.Reflection.MethodBase.IsGenericMethodDefinition
    
    
      System.Reflection.MethodBase.ContainsGenericParameters
    
    
      System.Reflection.MethodBase.IsGenericMethod
    
    
      System.Reflection.MethodBase.IsSecurityCritical
    
    
      System.Reflection.MethodBase.IsSecuritySafeCritical
    
    
      System.Reflection.MethodBase.IsSecurityTransparent
    
    
      System.Reflection.MethodBase.IsPublic
    
    
      System.Reflection.MethodBase.IsPrivate
    
    
      System.Reflection.MethodBase.IsFamily
    
    
      System.Reflection.MethodBase.IsAssembly
    
    
      System.Reflection.MethodBase.IsFamilyAndAssembly
    
    
      System.Reflection.MethodBase.IsFamilyOrAssembly
    
    
      System.Reflection.MethodBase.IsStatic
    
    
      System.Reflection.MethodBase.IsFinal
    
    
      System.Reflection.MethodBase.IsVirtual
    
    
      System.Reflection.MethodBase.IsHideBySig
    
    
      System.Reflection.MethodBase.IsAbstract
    
    
      System.Reflection.MethodBase.IsSpecialName
    
    
      System.Reflection.MethodBase.IsConstructor
    
    
      System.Reflection.MethodBase.System.Runtime.InteropServices._MethodBase.IsPublic
    
    
      System.Reflection.MethodBase.System.Runtime.InteropServices._MethodBase.IsPrivate
    
    
      System.Reflection.MethodBase.System.Runtime.InteropServices._MethodBase.IsFamily
    
    
      System.Reflection.MethodBase.System.Runtime.InteropServices._MethodBase.IsAssembly
    
    
      System.Reflection.MethodBase.System.Runtime.InteropServices._MethodBase.IsFamilyAndAssembly
    
    
      System.Reflection.MethodBase.System.Runtime.InteropServices._MethodBase.IsFamilyOrAssembly
    
    
      System.Reflection.MethodBase.System.Runtime.InteropServices._MethodBase.IsStatic
    
    
      System.Reflection.MethodBase.System.Runtime.InteropServices._MethodBase.IsFinal
    
    
      System.Reflection.MethodBase.System.Runtime.InteropServices._MethodBase.IsVirtual
    
    
      System.Reflection.MethodBase.System.Runtime.InteropServices._MethodBase.IsHideBySig
    
    
      System.Reflection.MethodBase.System.Runtime.InteropServices._MethodBase.IsAbstract
    
    
      System.Reflection.MethodBase.System.Runtime.InteropServices._MethodBase.IsSpecialName
    
    
      System.Reflection.MethodBase.System.Runtime.InteropServices._MethodBase.IsConstructor
    
    
      System.Reflection.MemberInfo.GetCustomAttributesData()
    
    
      System.Reflection.MemberInfo.System.Runtime.InteropServices._MemberInfo.GetType()
    
    
      System.Reflection.MemberInfo.System.Runtime.InteropServices._MemberInfo.GetTypeInfoCount(System.UInt32)
    
    
      System.Reflection.MemberInfo.System.Runtime.InteropServices._MemberInfo.GetTypeInfo(System.UInt32, System.UInt32, System.IntPtr)
    
    
      System.Reflection.MemberInfo.System.Runtime.InteropServices._MemberInfo.GetIDsOfNames(System.Guid, System.IntPtr, System.UInt32, System.UInt32, System.IntPtr)
    
    
      System.Reflection.MemberInfo.System.Runtime.InteropServices._MemberInfo.Invoke(System.UInt32, System.Guid, System.UInt32, System.Int16, System.IntPtr, System.IntPtr, System.IntPtr, System.IntPtr)
    
    
      System.Reflection.MemberInfo.CustomAttributes
    
    
      System.Reflection.MemberInfo.Module
    
    
      System.Object.ToString()
    
    
      System.Object.Equals(System.Object, System.Object)
    
    
      System.Object.ReferenceEquals(System.Object, System.Object)
    
    
      System.Object.GetType()
    
    
      System.Object.MemberwiseClone()
    
   
  
  Assembly: CilTools.Runtime.dll
  
  
    public class ClrMethodInfo : MethodInfo, ICustomAttributeProvider, _MemberInfo, _MethodBase, _MethodInfo, ICustomMethod
   
  Properties
  
  
  
  
  
  
  
  Declaration
  
    public override MethodAttributes Attributes { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Reflection.MethodAttributes | 
         | 
      
    
  
  Overrides
  System.Reflection.MethodBase.Attributes
  
  
  
  
  
  
  Declaration
  
    public override Type DeclaringType { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Type | 
         | 
      
    
  
  Overrides
  System.Reflection.MemberInfo.DeclaringType
  
  
  
  
  Gets the value specifying whether the local variables are initialized
 
  
  Declaration
  
    public bool InitLocals { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Boolean | 
         | 
      
    
  
  
  
  
  
  Gets the value specifying whether the InitLocals property value is defined
 
  
  Declaration
  
    public bool InitLocalsSpecified { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Boolean | 
         | 
      
    
  
  
  
  
  
  Gets the underlying ClrMD method object
 
  
  Declaration
  
    public ClrMethod InnerMethod { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | Microsoft.Diagnostics.Runtime.ClrMethod | 
         | 
      
    
  
  
  
  
  
  Gets the maximum size of operand stack during method execution
 
  
  Declaration
  
    public int MaxStackSize { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Int32 | 
         | 
      
    
  
  
  
  
  
  Gets the value specifying whether the MaxStackSize property value is defined
 
  
  Declaration
  
    public bool MaxStackSizeSpecified { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Boolean | 
         | 
      
    
  
  
  
  
  
  
  
  Declaration
  
    public override MemberTypes MemberType { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Reflection.MemberTypes | 
         | 
      
    
  
  Overrides
  System.Reflection.MethodInfo.MemberType
  
  
  
  
  
  
  Declaration
  
    public override int MetadataToken { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Int32 | 
         | 
      
    
  
  Overrides
  System.Reflection.MemberInfo.MetadataToken
  
  
  
  
  
  
  Declaration
  
    public override RuntimeMethodHandle MethodHandle { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.RuntimeMethodHandle | 
         | 
      
    
  
  Overrides
  System.Reflection.MethodBase.MethodHandle
  
  
  
  
  
  
  Declaration
  
    public override string Name { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.String | 
         | 
      
    
  
  Overrides
  System.Reflection.MemberInfo.Name
  
  
  
  
  
  
  Declaration
  
    public override Type ReflectedType { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Type | 
         | 
      
    
  
  Overrides
  System.Reflection.MemberInfo.ReflectedType
  
  
  
  
  Gets the method's returned type
 
  
  Declaration
  
    public override Type ReturnType { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Type | 
         | 
      
    
  
  Overrides
  System.Reflection.MethodInfo.ReturnType
  
  
  
  
  
  
  Declaration
  
    public override ICustomAttributeProvider ReturnTypeCustomAttributes { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Reflection.ICustomAttributeProvider | 
         | 
      
    
  
  Overrides
  System.Reflection.MethodInfo.ReturnTypeCustomAttributes
  
  
  
  
  Gets an object that can be used to convert metadata tokens into corresponding reflection objects
 
  
  Declaration
  
    public ITokenResolver TokenResolver { get; }
   
  Property Value
  
  Methods
  
  
  
  
  
  
  
  Declaration
  
    public override MethodInfo GetBaseDefinition()
   
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Reflection.MethodInfo | 
         | 
      
    
  
  Overrides
  System.Reflection.MethodInfo.GetBaseDefinition()
  
  
  
  
  Gets the CIL bytecode of the method body
 
  
  Declaration
  
    public byte[] GetBytecode()
   
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Byte[] | 
        CIL bytecode as byte array 
 | 
      
    
  
  
  
  
  
  
  
  Declaration
  
    public override object[] GetCustomAttributes(bool inherit)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Boolean | 
        inherit | 
         | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Object[] | 
         | 
      
    
  
  Overrides
  System.Reflection.MemberInfo.GetCustomAttributes(System.Boolean)
  
  
  
  
  
  
  Declaration
  
    public override object[] GetCustomAttributes(Type attributeType, bool inherit)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Type | 
        attributeType | 
         | 
      
      
        | System.Boolean | 
        inherit | 
         | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Object[] | 
         | 
      
    
  
  Overrides
  System.Reflection.MemberInfo.GetCustomAttributes(System.Type, System.Boolean)
  
  
  
  
  Gets the method definition for the generic method.
Returns null if this instance does not represent the generic method.
 
  
  Declaration
  
    public MethodBase GetDefinition()
   
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Reflection.MethodBase | 
         | 
      
    
  
  
  
  
  
  Gets the list of exception handling blocks in the method's body
 
  
  Declaration
  
    public ExceptionBlock[] GetExceptionBlocks()
   
  Returns
  
  
  
  
  
  Gets the array of local variable declarations of this method
 
  
  Declaration
  
    public LocalVariable[] GetLocalVariables()
   
  Returns
  
  
  
  
  
  Gets the local variable signature as an array of bytes
 
  
  Declaration
  
    public byte[] GetLocalVarSignature()
   
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Byte[] | 
         | 
      
    
  
  
  
  
  
  
  
  Declaration
  
    public override MethodImplAttributes GetMethodImplementationFlags()
   
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Reflection.MethodImplAttributes | 
         | 
      
    
  
  Overrides
  System.Reflection.MethodBase.GetMethodImplementationFlags()
  
  
  
  
  
  
  Declaration
  
    public override ParameterInfo[] GetParameters()
   
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Reflection.ParameterInfo[] | 
         | 
      
    
  
  Overrides
  System.Reflection.MethodBase.GetParameters()
  
  
  
  
  Gets P/Invoke parameters for the imported unmanaged method.
Returns null if this instance does not represent an imported unmanaged method.
 
  
  Declaration
  
    public PInvokeParams GetPInvokeParams()
   
  Returns
  
  
  
  
  
  
  
  Declaration
  
    public override object Invoke(object obj, BindingFlags invokeAttr, Binder binder, object[] parameters, CultureInfo culture)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Object | 
        obj | 
         | 
      
      
        | System.Reflection.BindingFlags | 
        invokeAttr | 
         | 
      
      
        | System.Reflection.Binder | 
        binder | 
         | 
      
      
        | System.Object[] | 
        parameters | 
         | 
      
      
        | System.Globalization.CultureInfo | 
        culture | 
         | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Object | 
         | 
      
    
  
  Overrides
  System.Reflection.MethodBase.Invoke(System.Object, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo)
  
  
  
  
  
  
  Declaration
  
    public override bool IsDefined(Type attributeType, bool inherit)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Type | 
        attributeType | 
         | 
      
      
        | System.Boolean | 
        inherit | 
         | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Boolean | 
         | 
      
    
  
  Overrides
  System.Reflection.MemberInfo.IsDefined(System.Type, System.Boolean)
  Implements
  
      System.Reflection.ICustomAttributeProvider
  
  
      System.Runtime.InteropServices._MemberInfo
  
  
      System.Runtime.InteropServices._MethodBase
  
  
      System.Runtime.InteropServices._MethodInfo
  
  
  Extension Methods