MethodBuilder Classe

Definição

Define e representa um método (ou construtor) em uma classe dinâmica.

public ref class MethodBuilder sealed : System::Reflection::MethodInfo, System::Runtime::InteropServices::_MethodBuilder
public ref class MethodBuilder sealed : 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 sealed class MethodBuilder : System.Reflection.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
type MethodBuilder = class
    inherit MethodInfo
Public NotInheritable Class MethodBuilder
Inherits MethodInfo
Implements _MethodBuilder
Public NotInheritable Class MethodBuilder
Inherits MethodInfo
Herança
Atributos
Implementações

Exemplos

O exemplo a seguir usa a MethodBuilder classe para criar um método dentro de um tipo dinâmico.


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

Comentários

Para obter mais informações sobre essa API, consulte comentários da API Complementar para MethodBuilder.

Propriedades

Nome Description
Attributes

Recupera os atributos desse método.

CallingConvention

Retorna a convenção de chamada do método.

ContainsGenericParameters

Não há suporte para esse tipo.

CustomAttributes

Obtém uma coleção que contém os atributos personalizados desse membro.

(Herdado de MemberInfo)
DeclaringType

Retorna o tipo que declara esse método.

InitLocals

Obtém ou define um valor booliano que especifica se as variáveis locais neste método são inicializadas zero. O valor padrão dessa propriedade é true.

IsAbstract

Obtém um valor que indica se o método é abstrato.

(Herdado de MethodBase)
IsAssembly

Obtém um valor que indica se a visibilidade potencial desse método ou construtor é descrita por Assembly; ou seja, o método ou construtor é visível no máximo para outros tipos no mesmo assembly e não é visível para tipos derivados fora do assembly.

(Herdado de MethodBase)
IsConstructedGenericMethod

Define e representa um método (ou construtor) em uma classe dinâmica.

IsConstructor

Obtém um valor que indica se o método é um construtor.

(Herdado de MethodBase)
IsFamily

Obtém um valor que indica se a visibilidade desse método ou construtor é descrita por Family; ou seja, o método ou construtor é visível apenas dentro de sua classe e classes derivadas.

(Herdado de MethodBase)
IsFamilyAndAssembly

Obtém um valor que indica se a visibilidade desse método ou construtor é descrita por FamANDAssem; ou seja, o método ou construtor pode ser chamado por classes derivadas, mas somente se estiverem no mesmo assembly.

(Herdado de MethodBase)
IsFamilyOrAssembly

Obtém um valor que indica se a visibilidade potencial desse método ou construtor é descrita por FamORAssem; ou seja, o método ou construtor pode ser chamado por classes derivadas onde quer que estejam e por classes no mesmo assembly.

(Herdado de MethodBase)
IsFinal

Obtém um valor que indica se esse método é final.

(Herdado de MethodBase)
IsGenericMethod

Obtém um valor que indica se o método é um método genérico.

IsGenericMethodDefinition

Obtém um valor que indica se o objeto atual MethodBuilder representa a definição de um método genérico.

IsHideBySig

Obtém um valor que indica se apenas um membro do mesmo tipo com exatamente a mesma assinatura está oculto na classe derivada.

(Herdado de MethodBase)
IsPrivate

Obtém um valor que indica se esse membro é privado.

(Herdado de MethodBase)
IsPublic

Obtém um valor que indica se esse é um método público.

(Herdado de MethodBase)
IsSecurityCritical

Lança um NotSupportedException em todos os casos.

IsSecurityCritical

Obtém um valor que indica se o método ou construtor atual é crítico de segurança ou seguro-crítico no nível de confiança atual e, portanto, pode executar operações críticas.

(Herdado de MethodBase)
IsSecuritySafeCritical

Lança um NotSupportedException em todos os casos.

IsSecuritySafeCritical

Obtém um valor que indica se o método ou construtor atual é crítico de segurança no nível de confiança atual; ou seja, se ele pode executar operações críticas e pode ser acessado por código transparente.

(Herdado de MethodBase)
IsSecurityTransparent

Lança um NotSupportedException em todos os casos.

IsSecurityTransparent

Obtém um valor que indica se o método ou construtor atual é transparente no nível de confiança atual e, portanto, não pode executar operações críticas.

(Herdado de MethodBase)
IsSpecialName

Obtém um valor que indica se esse método tem um nome especial.

(Herdado de MethodBase)
IsStatic

Obtém um valor que indica se o método é static.

(Herdado de MethodBase)
IsVirtual

Obtém um valor que indica se o método é virtual.

(Herdado de MethodBase)
MemberType

Obtém um MemberTypes valor que indica que esse membro é um método.

(Herdado de MethodInfo)
MetadataToken

Obtém um valor que identifica um elemento de metadados.

(Herdado de MemberInfo)
MethodHandle

Recupera o identificador interno do método. Use esse identificador para acessar o identificador de metadados subjacente.

MethodImplementationFlags

Obtém os MethodImplAttributes sinalizadores que especificam os atributos de uma implementação de método.

(Herdado de MethodBase)
Module

Obtém o módulo no qual o método atual está sendo definido.

Name

Recupera o nome desse método.

ReflectedType

Recupera a classe usada na reflexão para obter esse objeto.

ReturnParameter

Obtém um ParameterInfo objeto que contém informações sobre o tipo de retorno do método, como se o tipo de retorno tem modificadores personalizados.

ReturnType

Obtém o tipo de retorno do método representado por este MethodBuilder.

ReturnType

Obtém o tipo de retorno desse método.

(Herdado de MethodInfo)
ReturnTypeCustomAttributes

Retorna os atributos personalizados do tipo de retorno do método.

Signature

Recupera a assinatura do método.

Métodos

Nome Description
AddDeclarativeSecurity(SecurityAction, PermissionSet)

Adiciona segurança declarativa a esse método.

CreateDelegate(Type, Object)

Cria um delegado do tipo especificado com o destino especificado desse método.

(Herdado de MethodInfo)
CreateDelegate(Type)

Cria um delegado do tipo especificado desse método.

(Herdado de MethodInfo)
CreateMethodBody(Byte[], Int32)

Cria o corpo do método usando uma matriz de bytes fornecida de instruções de Microsoft MSIL (linguagem intermediária).

DefineGenericParameters(String[])

Define o número de parâmetros de tipo genérico para o método atual, especifica seus nomes e retorna uma matriz de GenericTypeParameterBuilder objetos que podem ser usados para definir suas restrições.

DefineParameter(Int32, ParameterAttributes, String)

Define os atributos de parâmetro e o nome de um parâmetro desse método ou do valor retornado desse método. Retorna um ParameterBuilder que pode ser usado para aplicar atributos personalizados.

Equals(Object)

Determina se o objeto fornecido é igual a essa instância.

GetBaseDefinition()

Retorne a implementação base para um método.

GetCustomAttributes(Boolean)

Retorna todos os atributos personalizados definidos para esse método.

GetCustomAttributes(Type, Boolean)

Retorna os atributos personalizados identificados pelo tipo fornecido.

GetCustomAttributesData()

Retorna uma lista de CustomAttributeData objetos que representam dados sobre os atributos que foram aplicados ao membro de destino.

(Herdado de MemberInfo)
GetGenericArguments()

Retorna uma matriz de GenericTypeParameterBuilder objetos que representam os parâmetros de tipo do método, se for genérico.

GetGenericMethodDefinition()

Retorna esse método.

GetHashCode()

Obtém o código hash para este método.

GetILGenerator()

Retorna um ILGenerator para este método com um tamanho de fluxo padrão Microsoft linguagem intermediária (MSIL) de 64 bytes.

GetILGenerator(Int32)

Retorna um ILGenerator para este método com o tamanho do fluxo de linguagem intermediária Microsoft (MSIL) especificado.

GetMethodBody()

Quando substituído em uma classe derivada, obtém um MethodBody objeto que fornece acesso ao fluxo MSIL, variáveis locais e exceções para o método atual.

(Herdado de MethodBase)
GetMethodImplementationFlags()

Retorna os sinalizadores de implementação para o método.

GetModule()

Retorna uma referência ao módulo que contém esse método.

GetParameters()

Retorna os parâmetros desse método.

GetToken()

Retorna o MethodToken que representa o token para esse método.

GetType()

Descobre os atributos de um método e fornece acesso aos metadados do método.

(Herdado de MethodInfo)
HasSameMetadataDefinitionAs(MemberInfo)

Define e representa um método (ou construtor) em uma classe dinâmica.

(Herdado de MemberInfo)
Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)

Invoca dinamicamente o método refletido por essa instância no objeto fornecido, passando os parâmetros especificados e sob as restrições do associador fornecido.

Invoke(Object, Object[])

Invoca o método ou construtor representado pela instância atual, usando os parâmetros especificados.

(Herdado de MethodInfo)
IsDefined(Type, Boolean)

Verifica se o tipo de atributo personalizado especificado está definido.

MakeGenericMethod(Type[])

Retorna um método genérico construído a partir da definição de método genérico atual usando os argumentos de tipo genérico especificados.

MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
SetCustomAttribute(ConstructorInfo, Byte[])

Define um atributo personalizado usando um blob de atributo personalizado especificado.

SetCustomAttribute(CustomAttributeBuilder)

Define um atributo personalizado usando um construtor de atributos personalizado.

SetImplementationFlags(MethodImplAttributes)

Define os sinalizadores de implementação para esse método.

SetMarshal(UnmanagedMarshal)
Obsoleto.

Define informações de marshaling para o tipo de retorno desse método.

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

Cria o corpo do método usando uma matriz de bytes especificada de instruções de Microsoft msil (linguagem intermediária).

SetParameters(Type[])

Define o número e os tipos de parâmetros para um método.

SetReturnType(Type)

Define o tipo de retorno do método.

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

Define a assinatura do método, incluindo o tipo de retorno, os tipos de parâmetro e os modificadores personalizados necessários e opcionais dos tipos de tipo de retorno e de parâmetro.

SetSymCustomAttribute(String, Byte[])

Defina um atributo personalizado simbólico usando um blob.

ToString()

Retorna essa MethodBuilder instância como uma cadeia de caracteres.

Implantações explícitas de interface

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

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição.

(Herdado de MemberInfo)
_MemberInfo.GetType()

Obtém um Type objeto que representa a MemberInfo classe.

(Herdado de MemberInfo)
_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera as informações do tipo de um objeto, que podem ser usadas para obter informações de tipo para uma interface.

(Herdado de MemberInfo)
_MemberInfo.GetTypeInfoCount(UInt32)

Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1).

(Herdado de MemberInfo)
_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornece acesso a propriedades e métodos expostos por um objeto.

(Herdado de MemberInfo)
_MethodBase.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição.

(Herdado de MethodBase)
_MethodBase.GetType()

Para obter uma descrição deste membro, consulte GetType().

(Herdado de MethodBase)
_MethodBase.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera as informações do tipo de um objeto, que podem ser usadas para obter informações de tipo para uma interface.

(Herdado de MethodBase)
_MethodBase.GetTypeInfoCount(UInt32)

Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1).

(Herdado de MethodBase)
_MethodBase.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornece acesso a propriedades e métodos expostos por um objeto.

(Herdado de MethodBase)
_MethodBase.IsAbstract

Para obter uma descrição deste membro, consulte IsAbstract.

(Herdado de MethodBase)
_MethodBase.IsAssembly

Para obter uma descrição deste membro, consulte IsAssembly.

(Herdado de MethodBase)
_MethodBase.IsConstructor

Para obter uma descrição deste membro, consulte IsConstructor.

(Herdado de MethodBase)
_MethodBase.IsFamily

Para obter uma descrição deste membro, consulte IsFamily.

(Herdado de MethodBase)
_MethodBase.IsFamilyAndAssembly

Para obter uma descrição deste membro, consulte IsFamilyAndAssembly.

(Herdado de MethodBase)
_MethodBase.IsFamilyOrAssembly

Para obter uma descrição deste membro, consulte IsFamilyOrAssembly.

(Herdado de MethodBase)
_MethodBase.IsFinal

Para obter uma descrição deste membro, consulte IsFinal.

(Herdado de MethodBase)
_MethodBase.IsHideBySig

Para obter uma descrição deste membro, consulte IsHideBySig.

(Herdado de MethodBase)
_MethodBase.IsPrivate

Para obter uma descrição deste membro, consulte IsPrivate.

(Herdado de MethodBase)
_MethodBase.IsPublic

Para obter uma descrição deste membro, consulte IsPublic.

(Herdado de MethodBase)
_MethodBase.IsSpecialName

Para obter uma descrição deste membro, consulte IsSpecialName.

(Herdado de MethodBase)
_MethodBase.IsStatic

Para obter uma descrição deste membro, consulte IsStatic.

(Herdado de MethodBase)
_MethodBase.IsVirtual

Para obter uma descrição deste membro, consulte IsVirtual.

(Herdado de MethodBase)
_MethodBuilder.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição.

_MethodBuilder.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera as informações do tipo de um objeto, que podem ser usadas para obter informações de tipo para uma interface.

_MethodBuilder.GetTypeInfoCount(UInt32)

Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1).

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

Fornece acesso a propriedades e métodos expostos por um objeto.

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

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição.

(Herdado de MethodInfo)
_MethodInfo.GetType()

Fornece acesso ao método do GetType() COM.

(Herdado de MethodInfo)
_MethodInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera as informações de tipo de um objeto, que podem ser usadas para obter as informações de tipo de uma interface.

(Herdado de MethodInfo)
_MethodInfo.GetTypeInfoCount(UInt32)

Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1).

(Herdado de MethodInfo)
_MethodInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornece acesso a propriedades e métodos expostos por um objeto.

(Herdado de MethodInfo)

Métodos de Extensão

Nome Description
GetCustomAttribute(MemberInfo, Type, Boolean)

Recupera um atributo personalizado de um tipo especificado que é aplicado a um membro especificado e, opcionalmente, inspeciona os ancestrais desse membro.

GetCustomAttribute(MemberInfo, Type)

Recupera um atributo personalizado de um tipo especificado que é aplicado a um membro especificado.

GetCustomAttribute<T>(MemberInfo, Boolean)

Recupera um atributo personalizado de um tipo especificado que é aplicado a um membro especificado e, opcionalmente, inspeciona os ancestrais desse membro.

GetCustomAttribute<T>(MemberInfo)

Recupera um atributo personalizado de um tipo especificado que é aplicado a um membro especificado.

GetCustomAttributes(MemberInfo, Boolean)

Recupera uma coleção de atributos personalizados que são aplicados a um membro especificado e, opcionalmente, inspeciona os ancestrais desse membro.

GetCustomAttributes(MemberInfo, Type, Boolean)

Recupera uma coleção de atributos personalizados de um tipo especificado que são aplicados a um membro especificado e, opcionalmente, inspeciona os ancestrais desse membro.

GetCustomAttributes(MemberInfo, Type)

Recupera uma coleção de atributos personalizados de um tipo especificado que são aplicados a um membro especificado.

GetCustomAttributes(MemberInfo)

Recupera uma coleção de atributos personalizados que são aplicados a um membro especificado.

GetCustomAttributes<T>(MemberInfo, Boolean)

Recupera uma coleção de atributos personalizados de um tipo especificado que são aplicados a um membro especificado e, opcionalmente, inspeciona os ancestrais desse membro.

GetCustomAttributes<T>(MemberInfo)

Recupera uma coleção de atributos personalizados de um tipo especificado que são aplicados a um membro especificado.

GetRuntimeBaseDefinition(MethodInfo)

Recupera um objeto que representa o método especificado na classe base direta ou indireta em que o método foi declarado pela primeira vez.

IsDefined(MemberInfo, Type, Boolean)

Indica se atributos personalizados de um tipo especificado são aplicados a um membro especificado e, opcionalmente, aplicados a seus ancestrais.

IsDefined(MemberInfo, Type)

Indica se atributos personalizados de um tipo especificado são aplicados a um membro especificado.

Aplica-se a