MethodBuilder Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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 é |
| 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 é |
| 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 é |
| IsVirtual |
Obtém um valor que indica se o método é |
| 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 |
| GetILGenerator(Int32) |
Devolve um |
| 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 |
| 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 |
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. |