MethodBuilder Classe

Definição

Define e representa um método (ou construtor) numa 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 seguinte utiliza 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

Observações

Para mais informações sobre esta API, consulte Observações suplementares da API para o MethodBuilder.

Propriedades

Name Description
Attributes

Recupera os atributos deste método.

CallingConvention

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

ContainsGenericParameters

Não é suportado para este tipo.

CustomAttributes

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

(Herdado de MemberInfo)
DeclaringType

Devolve o tipo que declara este método.

InitLocals

Obtém ou define um valor booleano que especifica se as variáveis locais neste método são zero inicializadas. 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 deste método ou construtor é descrita por Assembly; isto é, o método ou construtor é visível no máximo para outros tipos no mesmo conjunto, e não é visível para tipos derivados fora do conjunto.

(Herdado de MethodBase)
IsConstructedGenericMethod

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

IsConstructor

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

(Herdado de MethodBase)
IsFamily

Recebe um valor que indica se a visibilidade deste método ou construtor é descrita por Family; isto é, o método ou construtor é visível apenas dentro da sua classe e das classes derivadas.

(Herdado de MethodBase)
IsFamilyAndAssembly

Obtém um valor que indica se a visibilidade deste método ou construtor é descrita por FamANDAssem; isto é, o método ou construtor pode ser chamado por classes derivadas, mas apenas se estiverem na mesma assembleia.

(Herdado de MethodBase)
IsFamilyOrAssembly

Obtém um valor que indica se a visibilidade potencial deste método ou construtor é descrita por FamORAssem; isto é, o método ou construtor pode ser chamado por classes derivadas onde quer que estejam, e por classes na mesma assembleia.

(Herdado de MethodBase)
IsFinal

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

(Herdado de MethodBase)
IsGenericMethod

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

IsGenericMethodDefinition

Recebe 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

Recebe um valor que indica se este membro é privado.

(Herdado de MethodBase)
IsPublic

Recebe um valor que indica se este é um método público.

(Herdado de MethodBase)
IsSecurityCritical

Lança A NotSupportedException em todos os casos.

IsSecurityCritical

Obtém um valor que indica se o método ou construtor atual é crítico para segurança ou para segurança ao nível de confiança atual, podendo assim realizar operações críticas.

(Herdado de MethodBase)
IsSecuritySafeCritical

Lança A NotSupportedException em todos os casos.

IsSecuritySafeCritical

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

(Herdado de MethodBase)
IsSecurityTransparent

Lança A NotSupportedException em todos os casos.

IsSecurityTransparent

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

(Herdado de MethodBase)
IsSpecialName

Recebe um valor que indica se este 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 este membro é um método.

(Herdado de MethodInfo)
MetadataToken

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

(Herdado de MemberInfo)
MethodHandle

Recupera a alavanca interna do método. Use este handle para aceder ao handle de metadados subjacente.

MethodImplementationFlags

Recebe as MethodImplAttributes flags que especificam os atributos de uma implementação de método.

(Herdado de MethodBase)
Module

Obtém o módulo onde o método atual está a ser definido.

Name

Recupera o nome deste método.

ReflectedType

Recupera a classe que foi usada em reflexão para obter este objeto.

ReturnParameter

Obtém um ParameterInfo objeto que contém informação 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 deste método.

(Herdado de MethodInfo)
ReturnTypeCustomAttributes

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

Signature

Recupera a assinatura do método.

Métodos

Name Description
AddDeclarativeSecurity(SecurityAction, PermissionSet)

Adiciona segurança declarativa a este método.

CreateDelegate(Type, Object)

Cria um delegado do tipo especificado com o alvo especificado a partir deste método.

(Herdado de MethodInfo)
CreateDelegate(Type)

Cria um delegado do tipo especificado a partir deste método.

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

Cria o corpo do método usando um array de bytes fornecido de instruções da linguagem intermédia Microsoft (MSIL).

DefineGenericParameters(String[])

Define o número de parâmetros genéricos de tipo para o método atual, especifica os seus nomes e devolve um array de GenericTypeParameterBuilder objetos que podem ser usados para definir as suas restrições.

DefineParameter(Int32, ParameterAttributes, String)

Define os atributos do parâmetro e o nome de um parâmetro deste método, ou do valor de retorno deste método. Devolve um ParameterBuilder que pode ser usado para aplicar atributos personalizados.

Equals(Object)

Determina se o objeto dado é igual a esta instância.

GetBaseDefinition()

Devolve a implementação base de um método.

GetCustomAttributes(Boolean)

Devolve todos os atributos personalizados definidos para este método.

GetCustomAttributes(Type, Boolean)

Devolve os atributos personalizados identificados pelo tipo dado.

GetCustomAttributesData()

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

(Herdado de MemberInfo)
GetGenericArguments()

Devolve um array de GenericTypeParameterBuilder objetos que representam os parâmetros de tipo do método, se for genérico.

GetGenericMethodDefinition()

Devolve este método.

GetHashCode()

Obtém o código hash deste método.

GetILGenerator()

Devolve um ILGenerator para este método com um fluxo padrão Microsoft linguagem intermédia (MSIL) de 64 bytes.

GetILGenerator(Int32)

Devolve um ILGenerator para este método com o tamanho especificado do fluxo de linguagem Microsoft intermédia (MSIL).

GetMethodBody()

Quando é sobreposto numa 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()

Devolve as flags de implementação do método.

GetModule()

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

GetParameters()

Devolve os parâmetros deste método.

GetToken()

Devolve o MethodToken que representa o token para este método.

GetType()

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

(Herdado de MethodInfo)
HasSameMetadataDefinitionAs(MemberInfo)

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

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

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

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[])

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

MemberwiseClone()

Cria uma cópia superficial do atual Object.

(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 as flags de implementação para este método.

SetMarshal(UnmanagedMarshal)
Obsoleto.

Define a informação de marshaling para o tipo de retorno deste método.

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

Cria o corpo do método utilizando um array de bytes especificado de instruções da linguagem intermédia Microsoft (MSIL).

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âmetros e os modificadores personalizados obrigatórios e opcionais do tipo de retorno e dos tipos de parâmetro.

SetSymCustomAttribute(String, Byte[])

Define um atributo simbólico personalizado usando um blob.

ToString()

Devolve esta MethodBuilder instância como uma cadeia.

Implementações de Interface Explícita

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

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho.

(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 de tipo de um objeto, que podem ser usadas para obter as informações de tipo para uma interface.

(Herdado de MemberInfo)
_MemberInfo.GetTypeInfoCount(UInt32)

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

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

Proporciona 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 despacho.

(Herdado de MethodBase)
_MethodBase.GetType()

Para uma descrição deste elemento, veja GetType().

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

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

(Herdado de MethodBase)
_MethodBase.GetTypeInfoCount(UInt32)

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

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

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

(Herdado de MethodBase)
_MethodBase.IsAbstract

Para uma descrição deste elemento, veja IsAbstract.

(Herdado de MethodBase)
_MethodBase.IsAssembly

Para uma descrição deste elemento, veja IsAssembly.

(Herdado de MethodBase)
_MethodBase.IsConstructor

Para uma descrição deste elemento, veja IsConstructor.

(Herdado de MethodBase)
_MethodBase.IsFamily

Para uma descrição deste elemento, veja IsFamily.

(Herdado de MethodBase)
_MethodBase.IsFamilyAndAssembly

Para uma descrição deste elemento, veja IsFamilyAndAssembly.

(Herdado de MethodBase)
_MethodBase.IsFamilyOrAssembly

Para uma descrição deste elemento, veja IsFamilyOrAssembly.

(Herdado de MethodBase)
_MethodBase.IsFinal

Para uma descrição deste elemento, veja IsFinal.

(Herdado de MethodBase)
_MethodBase.IsHideBySig

Para uma descrição deste elemento, veja IsHideBySig.

(Herdado de MethodBase)
_MethodBase.IsPrivate

Para uma descrição deste elemento, veja IsPrivate.

(Herdado de MethodBase)
_MethodBase.IsPublic

Para uma descrição deste elemento, veja IsPublic.

(Herdado de MethodBase)
_MethodBase.IsSpecialName

Para uma descrição deste elemento, veja IsSpecialName.

(Herdado de MethodBase)
_MethodBase.IsStatic

Para uma descrição deste elemento, veja IsStatic.

(Herdado de MethodBase)
_MethodBase.IsVirtual

Para uma descrição deste elemento, veja IsVirtual.

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

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho.

_MethodBuilder.GetTypeInfo(UInt32, UInt32, IntPtr)

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

_MethodBuilder.GetTypeInfoCount(UInt32)

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

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

Proporciona 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 despacho.

(Herdado de MethodInfo)
_MethodInfo.GetType()

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

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

Recupera a informação de tipo de um objeto, que pode ser usada para obter a informação de tipo para uma interface.

(Herdado de MethodInfo)
_MethodInfo.GetTypeInfoCount(UInt32)

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

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

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

(Herdado de MethodInfo)

Métodos da Extensão

Name Description
GetCustomAttribute(MemberInfo, Type, Boolean)

Recupera um atributo personalizado de um tipo especificado que é aplicado a um membro especificado e, opcionalmente, inspeciona os antepassados 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 antepassados 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 antepassados 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 antepassados 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 antepassados 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 onde 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 aos seus antecessores.

IsDefined(MemberInfo, Type)

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

Aplica-se a