MethodBuilder Класс

Определение

Определяет и представляет метод (или конструктор) для динамического класса.Defines and represents a method (or constructor) on a dynamic class.

public ref class MethodBuilder sealed : System::Reflection::MethodInfo
public ref class MethodBuilder sealed : System::Reflection::MethodInfo, System::Runtime::InteropServices::_MethodBuilder
public ref class MethodBuilder abstract : System::Reflection::MethodInfo
public sealed class MethodBuilder : System.Reflection.MethodInfo
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
public sealed class MethodBuilder : System.Reflection.MethodInfo, System.Runtime.InteropServices._MethodBuilder
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class MethodBuilder : System.Reflection.MethodInfo, System.Runtime.InteropServices._MethodBuilder
public abstract class MethodBuilder : System.Reflection.MethodInfo
type MethodBuilder = class
    inherit MethodInfo
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
type MethodBuilder = class
    inherit MethodInfo
    interface _MethodBuilder
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type MethodBuilder = class
    inherit MethodInfo
    interface _MethodBuilder
Public NotInheritable Class MethodBuilder
Inherits MethodInfo
Public NotInheritable Class MethodBuilder
Inherits MethodInfo
Implements _MethodBuilder
Public MustInherit Class MethodBuilder
Inherits MethodInfo
Наследование
Атрибуты
Реализации

Примеры

В следующем примере класс используется MethodBuilder для создания метода в динамическом типе.The following example uses the MethodBuilder class to create a method within a dynamic type.

using namespace System;
using namespace System::Reflection;
using namespace System::Reflection::Emit;

void AddMethodDynamically( TypeBuilder^ myTypeBld, 
                           String^ mthdName, 
                           array<Type^>^ mthdParams, 
                           Type^ returnType, 
                           String^ mthdAction )
{
   MethodBuilder^ myMthdBld = myTypeBld->DefineMethod( mthdName, static_cast<MethodAttributes>(MethodAttributes::Public | MethodAttributes::Static), returnType, mthdParams );
   ILGenerator^ ILOut = myMthdBld->GetILGenerator();
   int numParams = mthdParams->Length;
   for ( Byte x = 0; x < numParams; x++ )
   {
      ILOut->Emit( OpCodes::Ldarg_S, x );

   }
   if ( numParams > 1 )
   {
      for ( int y = 0; y < (numParams - 1); y++ )
      {
         if ( mthdAction->Equals( "A" ) )
                  ILOut->Emit( OpCodes::Add );
         else
         if ( mthdAction->Equals( "M" ) )
                  ILOut->Emit( OpCodes::Mul );
         else
                  ILOut->Emit( OpCodes::Add );

      }
   }

   ILOut->Emit( OpCodes::Ret );
};

void main()
{
   AppDomain^ myDomain = AppDomain::CurrentDomain;
   AssemblyName^ asmName = gcnew AssemblyName;
   asmName->Name = "MyDynamicAsm";
   AssemblyBuilder^ myAsmBuilder = myDomain->DefineDynamicAssembly( asmName, 
                                                                    AssemblyBuilderAccess::RunAndSave );
   ModuleBuilder^ myModule = myAsmBuilder->DefineDynamicModule( "MyDynamicAsm", 
                                                                "MyDynamicAsm.dll" );
   TypeBuilder^ myTypeBld = myModule->DefineType( "MyDynamicType", 
                                                  TypeAttributes::Public );
   
   // Get info from the user to build the method dynamically.
   Console::WriteLine( "Let's build a simple method dynamically!" );
   Console::WriteLine( "Please enter a few numbers, separated by spaces." );
   String^ inputNums = Console::ReadLine();
   Console::Write( "Do you want to [A]dd (default) or [M]ultiply these numbers? " );
   String^ myMthdAction = Console::ReadLine()->ToUpper();
   Console::Write( "Lastly, what do you want to name your new dynamic method? " );
   String^ myMthdName = Console::ReadLine();
   
   // Process inputNums into an array and create a corresponding Type array
   int index = 0;
   array<String^>^inputNumsList = inputNums->Split();
   array<Type^>^myMthdParams = gcnew array<Type^>(inputNumsList->Length);
   array<Object^>^inputValsList = gcnew array<Object^>(inputNumsList->Length);
   for each (String^ inputNum in inputNumsList)
   {
      inputValsList[ index ] = Convert::ToInt32( inputNum );
      myMthdParams[ index ] = int::typeid;
      index++;
   }

   
   // Now, call the method building method with the parameters, passing the
   // TypeBuilder by reference.
   AddMethodDynamically( myTypeBld, 
                         myMthdName, 
                         myMthdParams, 
                         int::typeid, 
                         myMthdAction );
   Type^ myType = myTypeBld->CreateType();

   Console::WriteLine( "---" );
   Console::WriteLine( "The result of {0} the inputted values is: {1}", 
                       ((myMthdAction->Equals( "M" )) ? "multiplying" : "adding"), 
                       myType->InvokeMember( myMthdName, 
                                             BindingFlags::InvokeMethod | BindingFlags::Public | BindingFlags::Static, 
                       nullptr, 
                       nullptr, 
                       inputValsList ) );
   Console::WriteLine( "---" );
   
   // Let's take a look at the method we created.
   // If you are interested in seeing the MSIL generated dynamically for the method
   // your program generated, change to the directory where you ran the compiled
   // code sample and type "ildasm MyDynamicAsm.dll" at the prompt. When the list
   // of manifest contents appears, click on "MyDynamicType" and then on the name of
   // of the method you provided during execution.

   myAsmBuilder->Save( "MyDynamicAsm.dll" );

   MethodInfo^ myMthdInfo = myType->GetMethod( myMthdName );
   Console::WriteLine( "Your Dynamic Method: {0};", myMthdInfo );
}


using System;
using System.Reflection;
using System.Reflection.Emit;

class DemoMethodBuilder
{
    public static void AddMethodDynamically (TypeBuilder myTypeBld,
                                             string mthdName,
                                             Type[] mthdParams,
                                             Type returnType,
                                             string mthdAction)
    {

        MethodBuilder myMthdBld = myTypeBld.DefineMethod(
                                             mthdName,
                                             MethodAttributes.Public |
                                             MethodAttributes.Static,
                                             returnType,
                                             mthdParams);

        ILGenerator ILout = myMthdBld.GetILGenerator();

        int numParams = mthdParams.Length;

        for (byte x=0; x < numParams; x++)
        {
            ILout.Emit(OpCodes.Ldarg_S, x);
        }

        if (numParams > 1)
        {
            for (int y=0; y<(numParams-1); y++)
            {
                switch (mthdAction)
                {
                    case "A": ILout.Emit(OpCodes.Add);
                              break;
                    case "M": ILout.Emit(OpCodes.Mul);
                              break;
                    default: ILout.Emit(OpCodes.Add);
                              break;
                }
            }
        }
        ILout.Emit(OpCodes.Ret);
    }

    public static void Main()
    {
        AppDomain myDomain = AppDomain.CurrentDomain;
        AssemblyName asmName = new AssemblyName();
        asmName.Name = "MyDynamicAsm";

        AssemblyBuilder myAsmBuilder = myDomain.DefineDynamicAssembly(
                                       asmName,
                                       AssemblyBuilderAccess.RunAndSave);

        ModuleBuilder myModule = myAsmBuilder.DefineDynamicModule("MyDynamicAsm",
                                                                  "MyDynamicAsm.dll");

        TypeBuilder myTypeBld = myModule.DefineType("MyDynamicType",
                                                    TypeAttributes.Public);

        // Get info from the user to build the method dynamically.
        Console.WriteLine("Let's build a simple method dynamically!");
        Console.WriteLine("Please enter a few numbers, separated by spaces.");
        string inputNums = Console.ReadLine();
        Console.Write("Do you want to [A]dd (default) or [M]ultiply these numbers? ");
        string myMthdAction = Console.ReadLine().ToUpper();
        Console.Write("Lastly, what do you want to name your new dynamic method? ");
        string myMthdName = Console.ReadLine();

        // Process inputNums into an array and create a corresponding Type array
        int index = 0;
        string[] inputNumsList = inputNums.Split();

        Type[] myMthdParams = new Type[inputNumsList.Length];
        object[] inputValsList = new object[inputNumsList.Length];

        foreach (string inputNum in inputNumsList)
        {
            inputValsList[index] = (object)Convert.ToInt32(inputNum);
                myMthdParams[index] = typeof(int);
                index++;
        }

        // Now, call the method building method with the parameters, passing the
        // TypeBuilder by reference.
        AddMethodDynamically(myTypeBld,
                             myMthdName,
                             myMthdParams,
                             typeof(int),
                             myMthdAction);

        Type myType = myTypeBld.CreateType();

        Console.WriteLine("---");
        Console.WriteLine("The result of {0} the inputted values is: {1}",
                          ((myMthdAction == "M") ? "multiplying" : "adding"),
                          myType.InvokeMember(myMthdName,
                          BindingFlags.InvokeMethod | BindingFlags.Public |
                          BindingFlags.Static,
                          null,
                          null,
                          inputValsList));
        Console.WriteLine("---");

        // Let's take a look at the method we created.
        // If you are interested in seeing the MSIL generated dynamically for the method
        // your program generated, change to the directory where you ran the compiled
        // code sample and type "ildasm MyDynamicAsm.dll" at the prompt. When the list
        // of manifest contents appears, click on "MyDynamicType" and then on the name of
        // of the method you provided during execution.

        myAsmBuilder.Save("MyDynamicAsm.dll");

        MethodInfo myMthdInfo = myType.GetMethod(myMthdName);
        Console.WriteLine("Your Dynamic Method: {0};", myMthdInfo.ToString());
    }
}
Imports System.Reflection
Imports System.Reflection.Emit

Class DemoMethodBuilder
   
   Public Shared Sub AddMethodDynamically(ByVal myTypeBld As TypeBuilder, _
                                          ByVal mthdName As String, _
                                          ByVal mthdParams() As Type, _
                                          ByVal returnType As Type, _
                                          ByVal mthdAction As String)
      
      Dim myMthdBld As MethodBuilder = myTypeBld.DefineMethod(mthdName, _
                                       MethodAttributes.Public Or MethodAttributes.Static, _
                                       returnType, _
                                       mthdParams)
      
      Dim ILout As ILGenerator = myMthdBld.GetILGenerator()
      
      Dim numParams As Integer = mthdParams.Length
      
      Dim x As Byte
      For x = 0 To numParams - 1
         ILout.Emit(OpCodes.Ldarg_S, x)
      Next x
      
      If numParams > 1 Then
         Dim y As Integer
         For y = 0 To (numParams - 1) - 1
            Select Case mthdAction
               Case "A"
                  ILout.Emit(OpCodes.Add)
               Case "M"
                  ILout.Emit(OpCodes.Mul)
               Case Else
                  ILout.Emit(OpCodes.Add)
            End Select
         Next y
      End If
      ILout.Emit(OpCodes.Ret)
   End Sub 
    
   
   Public Shared Sub Main()
      
      Dim myDomain As AppDomain = AppDomain.CurrentDomain
      Dim asmName As New AssemblyName()
      asmName.Name = "MyDynamicAsm"
      
      Dim myAsmBuilder As AssemblyBuilder = myDomain.DefineDynamicAssembly(asmName, _
                                            AssemblyBuilderAccess.RunAndSave)
      
      Dim myModule As ModuleBuilder = myAsmBuilder.DefineDynamicModule("MyDynamicAsm", _
                                                                       "MyDynamicAsm.dll")
      
      Dim myTypeBld As TypeBuilder = myModule.DefineType("MyDynamicType", TypeAttributes.Public)
      
      ' Get info from the user to build the method dynamically.
      Console.WriteLine("Let's build a simple method dynamically!")
      Console.WriteLine("Please enter a few numbers, separated by spaces.")
      Dim inputNums As String = Console.ReadLine()
      Console.Write("Do you want to [A]dd (default) or [M]ultiply these numbers? ")
      Dim myMthdAction As String = Console.ReadLine().ToUpper()
      Console.Write("Lastly, what do you want to name your new dynamic method? ")
      Dim myMthdName As String = Console.ReadLine()
      
      ' Process inputNums into an array and create a corresponding Type array 
      Dim index As Integer = 0
      Dim inputNumsList As String() = inputNums.Split()
      
      Dim myMthdParams(inputNumsList.Length - 1) As Type
      Dim inputValsList(inputNumsList.Length - 1) As Object
      
      
      Dim inputNum As String
      For Each inputNum In  inputNumsList
         inputValsList(index) = CType(Convert.ToInt32(inputNum), Object)
         myMthdParams(index) = GetType(Integer)
         index += 1
      Next inputNum
      
      ' Now, call the method building method with the parameters, passing the 
      ' TypeBuilder by reference.
      AddMethodDynamically(myTypeBld, myMthdName, myMthdParams, GetType(Integer), myMthdAction)
      
      Dim myType As Type = myTypeBld.CreateType()
     
      Dim description as String 
      If myMthdAction = "M" Then
         description = "multiplying"
      Else
         description = "adding"
      End If

      Console.WriteLine("---")
      Console.WriteLine("The result of {0} the values is: {1}", _
                         description, _
                         myType.InvokeMember(myMthdName, _
                                             BindingFlags.InvokeMethod _
                                               Or BindingFlags.Public _
                                               Or BindingFlags.Static, _
                                             Nothing, _
                                             Nothing, _
                                             inputValsList)) 
      Console.WriteLine("---")

      ' If you are interested in seeing the MSIL generated dynamically for the method
      ' your program generated, change to the directory where you ran the compiled
      ' code sample and type "ildasm MyDynamicAsm.dll" at the prompt. When the list
      ' of manifest contents appears, click on "MyDynamicType" and then on the name of
      ' of the method you provided during execution.
 
      myAsmBuilder.Save("MyDynamicAsm.dll") 

      Dim myMthdInfo As MethodInfo = myType.GetMethod(myMthdName)
      Console.WriteLine("Your Dynamic Method: {0};", myMthdInfo.ToString())
   End Sub 
End Class 

Комментарии

MethodBuilderКласс используется для полного описания метода на языке MSIL, включая имя, атрибуты, сигнатуру и тело метода.The MethodBuilder class is used to fully describe a method in Microsoft intermediate language (MSIL), including the name, attributes, signature, and method body. Он используется вместе с TypeBuilder классом для создания классов во время выполнения.It is used in conjunction with the TypeBuilder class to create classes at runtime.

Глобальные методы и методы в качестве членов типовGlobal methods and methods as type members

Отражательную эмиссию можно использовать для определения глобальных методов и определения методов в качестве членов типов.You can use reflection emit to define global methods and to define methods as type members. Интерфейсы API, определяющие методы, возвращают MethodBuilder объекты.The APIs that define methods return MethodBuilder objects.

Глобальные методыGlobal methods

Глобальный метод определяется с помощью ModuleBuilder.DefineGlobalMethod метода, который возвращает объект MethodBuilder .A global method is defined by using the ModuleBuilder.DefineGlobalMethod method, which returns a MethodBuilder object.

Глобальные методы должны быть статическими.Global methods must be static. Если динамический модуль содержит глобальные методы, ModuleBuilder.CreateGlobalFunctions метод необходимо вызвать перед сохранением динамического модуля или содержащей его динамической сборки, так как среда CLR откладывает исправление динамического модуля до тех пор, пока не будут определены все глобальные функции.If a dynamic module contains global methods, the ModuleBuilder.CreateGlobalFunctions method must be called before persisting the dynamic module or the containing dynamic assembly because the common language runtime postpones fixing up the dynamic module until all global functions have been defined.

Глобальный собственный метод определяется с помощью ModuleBuilder.DefinePInvokeMethod метода.A global native method is defined by using the ModuleBuilder.DefinePInvokeMethod method. Методы вызова неуправляемого кода (PInvoke) не должны объявляться как абстрактные или виртуальные.Platform invoke (PInvoke) methods must not be declared abstract or virtual. Среда выполнения задает MethodAttributes.PinvokeImpl атрибут для метода вызова неуправляемого кода.The runtime sets the MethodAttributes.PinvokeImpl attribute for a platform invoke method.

Методы в качестве членов типовMethods as members of types

Метод определяется как член типа с помощью TypeBuilder.DefineMethod метода, который возвращает MethodBuilder объект.A method is defined as a type member by using the TypeBuilder.DefineMethod method, which returns a MethodBuilder object.

DefineParameterМетод используется для задания атрибутов Name и Parameter параметра или возвращаемого значения.The DefineParameter method is used to set the name and parameter attributes of a parameter, or of the return value. ParameterBuilderОбъект, возвращаемый этим методом, представляет параметр или возвращаемое значение.The ParameterBuilder object returned by this method represents a parameter or the return value. ParameterBuilderОбъект можно использовать для задания маршалирования, установки значения константы и применения настраиваемых атрибутов.The ParameterBuilder object can be used to set the marshaling, to set the constant value, and to apply custom attributes.

АтрибутыAttributes

Члены MethodAttributes перечисления определяют точный символ динамического метода:Members of the MethodAttributes enumeration define the precise character of a dynamic method:

Известные проблемыKnown Issues

  • Хотя MethodBuilder является производным от MethodInfo , некоторые абстрактные методы, определенные в MethodInfo классе, не реализованы полностью в MethodBuilder .Although MethodBuilder is derived from MethodInfo, some of the abstract methods defined in the MethodInfo class are not fully implemented in MethodBuilder. Эти MethodBuilder методы создают исключение NotSupportedException .These MethodBuilder methods throw the NotSupportedException. Например, MethodBuilder.Invoke метод не реализован полностью.For example the MethodBuilder.Invoke method is not fully implemented. Вы можете отразить эти методы, извлекая включающий тип с помощью Type.GetType методов или Assembly.GetType .You can reflect on these methods by retrieving the enclosing type using the Type.GetType or Assembly.GetType methods.

  • Пользовательские модификаторы поддерживаются начиная с версии .NET Framework 2,0.Custom modifiers are supported starting with the .NET Framework version 2.0. Они не поддерживаются в более ранних версиях.They are not supported in earlier versions.

Конструкторы

MethodBuilder()

Свойства

Attributes

Извлекает атрибуты для данного метода.Retrieves the attributes for this method.

CallingConvention

Возвращает соглашение о вызовах метода.Returns the calling convention of the method.

CallingConvention

Возвращает значение, показывающее соглашения о вызовах для этого метода.Gets a value indicating the calling conventions for this method.

(Унаследовано от MethodBase)
ContainsGenericParameters

Не поддерживается для этого типа.Not supported for this type.

ContainsGenericParameters

Получает значение, показывающее, содержит ли универсальный метод неназначенные параметры универсального типа.Gets a value that indicates whether a generic method contains unassigned generic type parameters.

(Унаследовано от MethodInfo)
CustomAttributes

Получает коллекцию, содержащую пользовательские атрибуты этого члена.Gets a collection that contains this member's custom attributes.

(Унаследовано от MemberInfo)
DeclaringType

Возвращает тип, объявляющий этот метод.Returns the type that declares this method.

InitLocals

Возвращает или задает логическое значение, указывающее, инициализируются ли локальные переменные в этом методе нулевым значением.Gets or sets a Boolean value that specifies whether the local variables in this method are zero initialized. Значение по умолчанию этого свойства равно true.The default value of this property is true.

IsAbstract

Возвращает значение, указывающее, является ли метод абстрактным.Gets a value indicating whether the method is abstract.

(Унаследовано от MethodBase)
IsAssembly

Возвращает значение, которое указывает, описана ли доступность данного метода или конструктора в поле Assembly; другими словами, этот метод или конструктор полностью доступен для других полей той же сборки и недоступен для производных типов, не включенных в сборку.Gets a value indicating whether the potential visibility of this method or constructor is described by Assembly; that is, the method or constructor is visible at most to other types in the same assembly, and is not visible to derived types outside the assembly.

(Унаследовано от MethodBase)
IsCollectible

Получает значение, указывающее, является ли объект MemberInfo частью сборки, содержащейся в забираемом контексте AssemblyLoadContext.Gets a value that indicates whether this MemberInfo object is part of an assembly held in a collectible AssemblyLoadContext.

(Унаследовано от MemberInfo)
IsConstructedGenericMethod
IsConstructedGenericMethod (Унаследовано от MethodBase)
IsConstructor

Возвращает значение, указывающее, является ли метод конструктором.Gets a value indicating whether the method is a constructor.

(Унаследовано от MethodBase)
IsFamily

Возвращает значение, которое указывает, описана ли доступность этого метода или конструктора в поле Family; другими словами, этот метод или конструктор доступен только в своем классе и производных классах.Gets a value indicating whether the visibility of this method or constructor is described by Family; that is, the method or constructor is visible only within its class and derived classes.

(Унаследовано от MethodBase)
IsFamilyAndAssembly

Возвращает значение, которое указывает, описана ли доступность этого метода или конструктора в поле FamANDAssem; другими словами, этот метод или конструктор может вызываться в производных классах, но только в том случае, если они находятся в той же сборке.Gets a value indicating whether the visibility of this method or constructor is described by FamANDAssem; that is, the method or constructor can be called by derived classes, but only if they are in the same assembly.

(Унаследовано от MethodBase)
IsFamilyOrAssembly

Возвращает значение, которое указывает, описана ли потенциальная доступность этого метода или конструктора в поле FamORAssem; другими словами, этот метод или конструктор может вызываться в производных классах независимо от их расположения, а также в классах той же сборки.Gets a value indicating whether the potential visibility of this method or constructor is described by FamORAssem; that is, the method or constructor can be called by derived classes wherever they are, and by classes in the same assembly.

(Унаследовано от MethodBase)
IsFinal

Возвращает значение, указывающее, является ли метод final.Gets a value indicating whether this method is final.

(Унаследовано от MethodBase)
IsGenericMethod

Получает значение, которое указывает, является ли метод универсальным.Gets a value indicating whether the method is a generic method.

IsGenericMethod

Возвращает значение, которое указывает, является ли текущий метод универсальным.Gets a value indicating whether the current method is a generic method.

(Унаследовано от MethodInfo)
IsGenericMethodDefinition

Получает значение, указывающее, представляет ли текущий объект MethodBuilder определение универсального метода.Gets a value indicating whether the current MethodBuilder object represents the definition of a generic method.

IsGenericMethodDefinition

Возвращает значение, указывающее, представляет ли текущий объект MethodInfo определение универсального метода.Gets a value indicating whether the current MethodInfo represents the definition of a generic method.

(Унаследовано от MethodInfo)
IsHideBySig

Возвращает значение, указывающее, скрывается ли в производном классе только член такого же вида с точно такой же сигнатурой.Gets a value indicating whether only a member of the same kind with exactly the same signature is hidden in the derived class.

(Унаследовано от MethodBase)
IsPrivate

Возвращает значение, указывающее, является ли этот член закрытым.Gets a value indicating whether this member is private.

(Унаследовано от MethodBase)
IsPublic

Возвращает значение, указывающее, является ли метод открытым.Gets a value indicating whether this is a public method.

(Унаследовано от MethodBase)
IsSecurityCritical

Во всех случаях вызывает исключение NotSupportedException.Throws a NotSupportedException in all cases.

IsSecurityCritical

Получает значение, которое указывает, является ли текущий метод или конструктор критически важным для безопасности или защищенным критически важным для безопасности на данном уровне доверия и, следовательно, может ли он выполнять критические операции.Gets a value that indicates whether the current method or constructor is security-critical or security-safe-critical at the current trust level, and therefore can perform critical operations.

(Унаследовано от MethodBase)
IsSecuritySafeCritical

Во всех случаях вызывает исключение NotSupportedException.Throws a NotSupportedException in all cases.

IsSecuritySafeCritical

Получает значение, которое указывает, является ли текущий динамический метод или конструктор защищенным критически важным для безопасности и, следовательно, может ли он выполнять критические операции и предоставлять доступ прозрачному коду.Gets a value that indicates whether the current method or constructor is security-safe-critical at the current trust level; that is, whether it can perform critical operations and can be accessed by transparent code.

(Унаследовано от MethodBase)
IsSecurityTransparent

Во всех случаях вызывает исключение NotSupportedException.Throws a NotSupportedException in all cases.

IsSecurityTransparent

Получает значение, которое указывает, является ли текущий метод или конструктор прозрачным на текущем уровне доверия и, следовательно, не может выполнять критические операции.Gets a value that indicates whether the current method or constructor is transparent at the current trust level, and therefore cannot perform critical operations.

(Унаследовано от MethodBase)
IsSpecialName

Возвращает значение, указывающее, имеет ли этот метод специальное имя.Gets a value indicating whether this method has a special name.

(Унаследовано от MethodBase)
IsStatic

Получает значение, указывающее, имеет ли метод значение static.Gets a value indicating whether the method is static.

(Унаследовано от MethodBase)
IsVirtual

Получает значение, указывающее, имеет ли метод значение virtual.Gets a value indicating whether the method is virtual.

(Унаследовано от MethodBase)
MemberType

Возвращает значение MemberTypes, указывающее, что этот элемент является методом.Gets a MemberTypes value indicating that this member is a method.

(Унаследовано от MethodInfo)
MetadataToken

Получает значение, определяющее элемент метаданных.Gets a value that identifies a metadata element.

(Унаследовано от MemberInfo)
MethodHandle

Извлекает внутренний маркер метода.Retrieves the internal handle for the method. Используйте этот маркер для доступа к основному дескриптору метаданных.Use this handle to access the underlying metadata handle.

MethodHandle

Возвращает дескриптор представления внутренних метаданных метода.Gets a handle to the internal metadata representation of a method.

(Унаследовано от MethodBase)
MethodImplementationFlags
MethodImplementationFlags

Получает флаги MethodImplAttributes, указывающие атрибуты реализации методы.Gets the MethodImplAttributes flags that specify the attributes of a method implementation.

(Унаследовано от MethodBase)
Module

Возвращает модуль, в котором определяется текущий метод.Gets the module in which the current method is being defined.

Module

Получает модуль, в котором определяется тип, объявляющий член, представленный текущим объектом MemberInfo.Gets the module in which the type that declares the member represented by the current MemberInfo is defined.

(Унаследовано от MemberInfo)
Name

Извлекает имя данного метода.Retrieves the name of this method.

ReflectedType

Возвращает класс, который использовался в отражении для получения этого объекта.Retrieves the class that was used in reflection to obtain this object.

ReflectedType

Получает объект класса, который использовался для извлечения данного экземпляра объекта MemberInfo.Gets the class object that was used to obtain this instance of MemberInfo.

(Унаследовано от MemberInfo)
ReturnParameter

Возвращает объект ParameterInfo, который содержит сведения о типе возвращаемого значения этого метода, например, имеет ли возвращаемый тип пользовательские модификаторы.Gets a ParameterInfo object that contains information about the return type of the method, such as whether the return type has custom modifiers.

ReturnParameter

Получает объект ParameterInfo, который содержит сведения о типе возвращаемого значения этого метода, например: имеет ли возвращаемый тип пользовательские модификаторы.Gets a ParameterInfo object that contains information about the return type of the method, such as whether the return type has custom modifiers.

(Унаследовано от MethodInfo)
ReturnType

Возвращает тип возвращаемого значения метода, представленный этим MethodBuilder.Gets the return type of the method represented by this MethodBuilder.

ReturnType

Возвращает тип, возвращаемый этим методом.Gets the return type of this method.

(Унаследовано от MethodInfo)
ReturnTypeCustomAttributes

Возвращает настраиваемые атрибуты типа возвращаемого значения метода.Returns the custom attributes of the method's return type.

ReturnTypeCustomAttributes

Возвращает пользовательские атрибуты типа возвращаемого значения.Gets the custom attributes for the return type.

(Унаследовано от MethodInfo)
Signature

Извлекает сигнатуру метода.Retrieves the signature of the method.

Методы

AddDeclarativeSecurity(SecurityAction, PermissionSet)

Добавляет декларативную безопасность в этот метод.Adds declarative security to this method.

CreateDelegate(Type)

Создает делегат заданного типа из этого метода.Creates a delegate of the specified type from this method.

(Унаследовано от MethodInfo)
CreateDelegate(Type, Object)

Создает делегат заданного типа с заданным целевым объектом из этого метода.Creates a delegate of the specified type with the specified target from this method.

(Унаследовано от MethodInfo)
CreateDelegate<T>()

Создает делегат типа T из этого метода.Creates a delegate of type T from this method.

(Унаследовано от MethodInfo)
CreateDelegate<T>(Object)

Создает делегат типа T с указанным целевым объектом из этого метода.Creates a delegate of type T with the specified target from this method.

(Унаследовано от MethodInfo)
CreateMethodBody(Byte[], Int32)

Создает тело метода с использованием предоставленного массива байтов инструкций промежуточного языка Майкрософт (MSIL).Creates the body of the method using a supplied byte array of Microsoft intermediate language (MSIL) instructions.

DefineGenericParameters(String[])

Задает количество параметров универсального типа для текущего метода, указывает их имена и возвращает массив объектов GenericTypeParameterBuilder, которые можно использовать для определения их ограничений.Sets the number of generic type parameters for the current method, specifies their names, and returns an array of GenericTypeParameterBuilder objects that can be used to define their constraints.

DefineParameter(Int32, ParameterAttributes, String)

Задает атрибуты параметров и имя параметра этого метода или возвращаемого значения данного метода.Sets the parameter attributes and the name of a parameter of this method, or of the return value of this method. Возвращает ParameterBuilder, который можно использовать для применения настраиваемых атрибутов.Returns a ParameterBuilder that can be used to apply custom attributes.

Equals(Object)

Определяет, равен ли данный объект этому экземпляру.Determines whether the given object is equal to this instance.

Equals(Object)

Возвращает значение, показывающее, равен ли экземпляр указанному объекту.Returns a value that indicates whether this instance is equal to a specified object.

(Унаследовано от MethodInfo)
GetBaseDefinition()

Возвращает базовую реализацию метода.Return the base implementation for a method.

GetBaseDefinition()

Если переопределено в производном классе, возвращает объект MethodInfo для метода в прямом или косвенном базовом классе, в котором был первоначально объявлен метод, предоставляемый этим экземпляром.When overridden in a derived class, returns the MethodInfo object for the method on the direct or indirect base class in which the method represented by this instance was first declared.

(Унаследовано от MethodInfo)
GetCustomAttributes(Boolean)

Возвращает все настраиваемые атрибуты, определенные для данного метода.Returns all the custom attributes defined for this method.

GetCustomAttributes(Boolean)

При переопределении в производном классе возвращает массив всех настраиваемых атрибутов, примененных к данному члену.When overridden in a derived class, returns an array of all custom attributes applied to this member.

(Унаследовано от MemberInfo)
GetCustomAttributes(Type, Boolean)

Возвращает настраиваемые атрибуты, определяемые заданным типом.Returns the custom attributes identified by the given type.

GetCustomAttributes(Type, Boolean)

При переопределении в производном классе возвращает массив настраиваемых атрибутов, применяемых к этому элементу и определяемых параметром Type.When overridden in a derived class, returns an array of custom attributes applied to this member and identified by Type.

(Унаследовано от MemberInfo)
GetCustomAttributesData()

Возвращает список объектов CustomAttributeData, представляющих данные об атрибутах, примененных к целевому элементу.Returns a list of CustomAttributeData objects representing data about the attributes that have been applied to the target member.

(Унаследовано от MemberInfo)
GetGenericArguments()

Возвращает массив объектов GenericTypeParameterBuilder, которые представляют параметры типа для метода, если он является универсальным.Returns an array of GenericTypeParameterBuilder objects that represent the type parameters of the method, if it is generic.

GetGenericArguments()

Возвращает массив объектов Type, которые представляют аргументы универсального метода, относящиеся к типу, или параметры типа определения универсального метода.Returns an array of Type objects that represent the type arguments of a generic method or the type parameters of a generic method definition.

(Унаследовано от MethodInfo)
GetGenericMethodDefinition()

Возвращает этот метод.Returns this method.

GetGenericMethodDefinition()

Возвращает объект MethodInfo, представляющий определение универсального метода, на основе которого можно сконструировать текущий метод.Returns a MethodInfo object that represents a generic method definition from which the current method can be constructed.

(Унаследовано от MethodInfo)
GetHashCode()

Возвращает хэш-код для этого метода.Gets the hash code for this method.

GetHashCode()

Возвращает хэш-код данного экземпляра.Returns the hash code for this instance.

(Унаследовано от MethodInfo)
GetILGenerator()

Возвращает ILGenerator для этого метода с потоком промежуточного языка Майкрософт (MSIL), имеющим размер по умолчанию (64 байта).Returns an ILGenerator for this method with a default Microsoft intermediate language (MSIL) stream size of 64 bytes.

GetILGenerator(Int32)

Возвращает ILGenerator для этого метода с указанным размером потока MSIL.Returns an ILGenerator for this method with the specified Microsoft intermediate language (MSIL) stream size.

GetMethodBody()

При переопределении в производном классе возвращает объект MethodBody, который обеспечивает доступ к потоку MSIL, локальным переменным и исключениям для текущего метода.When overridden in a derived class, gets a MethodBody object that provides access to the MSIL stream, local variables, and exceptions for the current method.

(Унаследовано от MethodBase)
GetMethodImplementationFlags()

Возвращает флаги реализации для метода.Returns the implementation flags for the method.

GetMethodImplementationFlags()

При переопределении в производном классе возвращает новые флаги MethodImplAttributes.When overridden in a derived class, returns the MethodImplAttributes flags.

(Унаследовано от MethodBase)
GetModule()

Возвращает ссылку на модуль, содержащий этот метод.Returns a reference to the module that contains this method.

GetParameters()

Возвращает параметры данного метода.Returns the parameters of this method.

GetToken()

Возвращает объект MethodToken, представляющий маркер для этого метода.Returns the MethodToken that represents the token for this method.

GetType()

Выявляет атрибуты метода и обеспечивает доступ к его метаданным.Discovers the attributes of a method and provides access to method metadata.

(Унаследовано от MethodInfo)
HasSameMetadataDefinitionAs(MemberInfo) (Унаследовано от MemberInfo)
Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)

Динамически вызывает метод, отраженный этим экземпляром для данного объекта, передавая указанные параметры и учитывая ограничения данного модуля привязки.Dynamically invokes the method reflected by this instance on the given object, passing along the specified parameters, and under the constraints of the given binder.

Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)

При переопределении в производном классе вызывает отражаемый метод или конструктор с заданными параметрами.When overridden in a derived class, invokes the reflected method or constructor with the given parameters.

(Унаследовано от MethodBase)
Invoke(Object, Object[])

Вызывает метод или конструктор, отражаемый этим экземпляром MethodInfo.Invokes the method or constructor reflected by this MethodInfo instance.

(Унаследовано от MethodInfo)
IsDefined(Type, Boolean)

Проверяет, определен ли заданный тип настраиваемого атрибута.Checks if the specified custom attribute type is defined.

IsDefined(Type, Boolean)

При переопределении в производном классе указывает, применяются ли для этого члена один или несколько атрибутов заданного типа или его производных типов.When overridden in a derived class, indicates whether one or more attributes of the specified type or of its derived types is applied to this member.

(Унаследовано от MemberInfo)
MakeGenericMethod(Type[])

Возвращает универсальный метод, построенный на основе определения текущего универсального метода с использованием указанных аргументов универсального типа.Returns a generic method constructed from the current generic method definition using the specified generic type arguments.

MakeGenericMethod(Type[])

Заменяет параметры типа элементами массива типов для определения текущего универсального метода и возвращает объект MethodInfo, представляющий итоговый сконструированный метод.Substitutes the elements of an array of types for the type parameters of the current generic method definition, and returns a MethodInfo object representing the resulting constructed method.

(Унаследовано от MethodInfo)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
SetCustomAttribute(ConstructorInfo, Byte[])

Задает настраиваемый атрибут с помощью большого двоичного объекта пользовательских атрибутов.Sets a custom attribute using a specified custom attribute blob.

SetCustomAttribute(CustomAttributeBuilder)

Задает настраиваемый атрибут с помощью построителя настраиваемых атрибутов.Sets a custom attribute using a custom attribute builder.

SetImplementationFlags(MethodImplAttributes)

Задает флаги реализации для этого метода.Sets the implementation flags for this method.

SetMarshal(UnmanagedMarshal)
Является устаревшей.
Является устаревшей.

Задает сведения о маршалинге для типа возвращаемого значения этого метода.Sets marshaling information for the return type of this method.

SetMethodBody(Byte[], Int32, Byte[], IEnumerable<ExceptionHandler>, IEnumerable<Int32>)

Создает тело метода с использованием указанного массива байтов инструкций промежуточного языка Майкрософт (MSIL).Creates the body of the method by using a specified byte array of Microsoft intermediate language (MSIL) instructions.

SetParameters(Type[])

Задает количество и типы параметров для метода.Sets the number and types of parameters for a method.

SetReturnType(Type)

Задает тип возвращаемого значения метода.Sets the return type of the method.

SetSignature(Type, Type[], Type[], Type[], Type[][], Type[][])

Задает сигнатуру метода, включая возвращаемый тип, типы параметров, а также обязательные и необязательные настраиваемые модификаторы для возвращаемого типа и типов параметров.Sets the method signature, including the return type, the parameter types, and the required and optional custom modifiers of the return type and parameter types.

SetSymCustomAttribute(String, Byte[])

Задает символьный настраиваемый атрибут с помощью большого двоичного объекта.Set a symbolic custom attribute using a blob.

ToString()

Возвращает этот экземпляр MethodBuilder в виде строки.Returns this MethodBuilder instance as a string.

ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)

Явные реализации интерфейса

_MemberInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.Maps a set of names to a corresponding set of dispatch identifiers.

(Унаследовано от MemberInfo)
_MemberInfo.GetType()

Возвращает объект Type, представляющий класс MemberInfo.Gets a Type object representing the MemberInfo class.

(Унаследовано от MemberInfo)
_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Возвращает сведения о типе объекта, которые затем могут использоваться для получения сведений о типе интерфейса.Retrieves the type information for an object, which can then be used to get the type information for an interface.

(Унаследовано от MemberInfo)
_MemberInfo.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Унаследовано от MemberInfo)
_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Предоставляет доступ к открытым свойствам и методам объекта.Provides access to properties and methods exposed by an object.

(Унаследовано от MemberInfo)
_MethodBase.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.Maps a set of names to a corresponding set of dispatch identifiers.

(Унаследовано от MethodBase)
_MethodBase.GetType()

Описание этого члена см. в разделе GetType().For a description of this member, see GetType().

(Унаследовано от MethodBase)
_MethodBase.GetTypeInfo(UInt32, UInt32, IntPtr)

Возвращает сведения о типе объекта, которые затем могут использоваться для получения сведений о типе интерфейса.Retrieves the type information for an object, which can then be used to get the type information for an interface.

(Унаследовано от MethodBase)
_MethodBase.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Унаследовано от MethodBase)
_MethodBase.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Предоставляет доступ к открытым свойствам и методам объекта.Provides access to properties and methods exposed by an object.

(Унаследовано от MethodBase)
_MethodBase.IsAbstract

Описание этого члена см. в разделе IsAbstract.For a description of this member, see IsAbstract.

(Унаследовано от MethodBase)
_MethodBase.IsAssembly

Описание этого члена см. в разделе IsAssembly.For a description of this member, see IsAssembly.

(Унаследовано от MethodBase)
_MethodBase.IsConstructor

Описание этого члена см. в разделе IsConstructor.For a description of this member, see IsConstructor.

(Унаследовано от MethodBase)
_MethodBase.IsFamily

Описание этого члена см. в разделе IsFamily.For a description of this member, see IsFamily.

(Унаследовано от MethodBase)
_MethodBase.IsFamilyAndAssembly

Описание этого члена см. в разделе IsFamilyAndAssembly.For a description of this member, see IsFamilyAndAssembly.

(Унаследовано от MethodBase)
_MethodBase.IsFamilyOrAssembly

Описание этого члена см. в разделе IsFamilyOrAssembly.For a description of this member, see IsFamilyOrAssembly.

(Унаследовано от MethodBase)
_MethodBase.IsFinal

Описание этого члена см. в разделе IsFinal.For a description of this member, see IsFinal.

(Унаследовано от MethodBase)
_MethodBase.IsHideBySig

Описание этого члена см. в разделе IsHideBySig.For a description of this member, see IsHideBySig.

(Унаследовано от MethodBase)
_MethodBase.IsPrivate

Описание этого члена см. в разделе IsPrivate.For a description of this member, see IsPrivate.

(Унаследовано от MethodBase)
_MethodBase.IsPublic

Описание этого члена см. в разделе IsPublic.For a description of this member, see IsPublic.

(Унаследовано от MethodBase)
_MethodBase.IsSpecialName

Описание этого члена см. в разделе IsSpecialName.For a description of this member, see IsSpecialName.

(Унаследовано от MethodBase)
_MethodBase.IsStatic

Описание этого члена см. в разделе IsStatic.For a description of this member, see IsStatic.

(Унаследовано от MethodBase)
_MethodBase.IsVirtual

Описание этого члена см. в разделе IsVirtual.For a description of this member, see IsVirtual.

(Унаследовано от MethodBase)
_MethodBuilder.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.Maps a set of names to a corresponding set of dispatch identifiers.

_MethodBuilder.GetTypeInfo(UInt32, UInt32, IntPtr)

Возвращает сведения о типе объекта, которые затем могут использоваться для получения сведений о типе интерфейса.Retrieves the type information for an object, which can then be used to get the type information for an interface.

_MethodBuilder.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

_MethodBuilder.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Предоставляет доступ к открытым свойствам и методам объекта.Provides access to properties and methods exposed by an object.

_MethodInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.Maps a set of names to a corresponding set of dispatch identifiers.

(Унаследовано от MethodInfo)
_MethodInfo.GetType()

Предоставляет доступ к методу GetType() из COM-объекта.Provides access to the GetType() method from COM.

(Унаследовано от MethodInfo)
_MethodInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Возвращает сведения о типе объекта, которые можно использовать для получения сведений о типе интерфейса.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Унаследовано от MethodInfo)
_MethodInfo.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Унаследовано от MethodInfo)
_MethodInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Предоставляет доступ к открытым свойствам и методам объекта.Provides access to properties and methods exposed by an object.

(Унаследовано от MethodInfo)
ICustomAttributeProvider.GetCustomAttributes(Boolean)

Возвращает массив всех настраиваемых атрибутов, определенных для этого элемента, за исключением именованных атрибутов, или пустой массив, если атрибуты отсутствуют.Returns an array of all of the custom attributes defined on this member, excluding named attributes, or an empty array if there are no custom attributes.

(Унаследовано от MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean)

Возвращает массив настраиваемых атрибутов, определенных для этого элемента с учетом типа, или пустой массив, если отсутствуют настраиваемые атрибуты определенного типа.Returns an array of custom attributes defined on this member, identified by type, or an empty array if there are no custom attributes of that type.

(Унаследовано от MemberInfo)
ICustomAttributeProvider.IsDefined(Type, Boolean)

Указывает, сколько экземпляров attributeType определено для этого элемента.Indicates whether one or more instance of attributeType is defined on this member.

(Унаследовано от MemberInfo)

Методы расширения

GetCustomAttribute(MemberInfo, Type)

Извлекает пользовательский атрибут заданного типа, примененный к указанному элементу.Retrieves a custom attribute of a specified type that is applied to a specified member.

GetCustomAttribute(MemberInfo, Type, Boolean)

Извлекает настраиваемый атрибут указанного типа, который применяется к указанному элементу и, при необходимости, проверяет предков этого элемента.Retrieves a custom attribute of a specified type that is applied to a specified member, and optionally inspects the ancestors of that member.

GetCustomAttribute<T>(MemberInfo)

Извлекает пользовательский атрибут заданного типа, примененный к указанному элементу.Retrieves a custom attribute of a specified type that is applied to a specified member.

GetCustomAttribute<T>(MemberInfo, Boolean)

Извлекает настраиваемый атрибут указанного типа, который применяется к указанному элементу и, при необходимости, проверяет предков этого элемента.Retrieves a custom attribute of a specified type that is applied to a specified member, and optionally inspects the ancestors of that member.

GetCustomAttributes(MemberInfo)

Извлекает коллекцию настраиваемых атрибутов, примененных к указанному члену.Retrieves a collection of custom attributes that are applied to a specified member.

GetCustomAttributes(MemberInfo, Boolean)

Извлекает коллекцию пользовательских атрибутов, которые применяются к указанному элементу и, при необходимости, проверяет предков этого элемента.Retrieves a collection of custom attributes that are applied to a specified member, and optionally inspects the ancestors of that member.

GetCustomAttributes(MemberInfo, Type)

Извлекает коллекцию пользовательских атрибутов заданного типа, примененных к указанному элементу.Retrieves a collection of custom attributes of a specified type that are applied to a specified member.

GetCustomAttributes(MemberInfo, Type, Boolean)

Извлекает коллекцию пользовательских атрибутов указанного типа, которые применяется к указанному элементу и, при необходимости, проверяет предков этого элемента.Retrieves a collection of custom attributes of a specified type that are applied to a specified member, and optionally inspects the ancestors of that member.

GetCustomAttributes<T>(MemberInfo)

Извлекает коллекцию пользовательских атрибутов заданного типа, примененных к указанному элементу.Retrieves a collection of custom attributes of a specified type that are applied to a specified member.

GetCustomAttributes<T>(MemberInfo, Boolean)

Извлекает коллекцию пользовательских атрибутов указанного типа, которые применяется к указанному элементу и, при необходимости, проверяет предков этого элемента.Retrieves a collection of custom attributes of a specified type that are applied to a specified member, and optionally inspects the ancestors of that member.

IsDefined(MemberInfo, Type)

Указывает, применены ли какие-либо пользовательские атрибуты заданного типа к указанному члену.Indicates whether custom attributes of a specified type are applied to a specified member.

IsDefined(MemberInfo, Type, Boolean)

Указывает применены ли настраиваемые атрибуты указанного типа к указанному элементу и, при необходимости, применены ли они к его предкам.Indicates whether custom attributes of a specified type are applied to a specified member, and, optionally, applied to its ancestors.

GetMetadataToken(MemberInfo)

Возвращает маркер метаданных для заданного элемента, если он доступен.Gets a metadata token for the given member, if available.

HasMetadataToken(MemberInfo)

Возвращает значение, указывающее, доступен ли маркер метаданных для указанного элемента.Returns a value that indicates whether a metadata token is available for the specified member.

GetBaseDefinition(MethodInfo)
GetRuntimeBaseDefinition(MethodInfo)

Извлекает объект, представляющий указанный метода в прямом или косвенном базовом классе, где он был первоначально объявлен.Retrieves an object that represents the specified method on the direct or indirect base class where the method was first declared.

Применяется к