Assembly.GetCustomAttributes Método

Definição

Obtém os atributos personalizados para esta montagem.

Sobrecargas

Name Description
GetCustomAttributes(Boolean)

Obtém todos os atributos personalizados para esta montagem.

GetCustomAttributes(Type, Boolean)

Obtém os atributos personalizados para esta montagem conforme especificado por tipo.

GetCustomAttributes(Boolean)

Obtém todos os atributos personalizados para esta montagem.

public:
 virtual cli::array <System::Object ^> ^ GetCustomAttributes(bool inherit);
public virtual object[] GetCustomAttributes(bool inherit);
abstract member GetCustomAttributes : bool -> obj[]
override this.GetCustomAttributes : bool -> obj[]
Public Overridable Function GetCustomAttributes (inherit As Boolean) As Object()

Parâmetros

inherit
Boolean

Este argumento é ignorado para objetos do tipo Assembly.

Devoluções

Object[]

Um array que contém os atributos personalizados para esta assembleia.

Implementações

Observações

Este método implementa o método de interface correspondente ICustomAttributeProvider . Portanto, o inherit parâmetro deve ser especificado mesmo que seja ignorado.

Um pseudo-atributo indica bits dos metadados centrais que devem ser definidos quando o atributo está presente. Ao contrário de um atributo personalizado que estende os metadados de um tipo e é guardado juntamente com o tipo, um pseudo-atributo modifica os metadados do tipo e depois é descartado. Alguns dos bits resultantes não podem ser acedidos usando APIs de reflexão existentes.

A tabela seguinte resume os diferentes pseudo-atributos e os acessores para os bits disponíveis em reflexão.

Pseudo-Attribute Bits de Metadados Acessor de Reflexão
DllImportAttribute CorPInvokeMap

Nome da DLL
Não há acessório para PInvokeMap os atributos de método ordinário/global de método.

Sem acessório para o nome DLL.
GuidAttribute Armazenado como um atributo personalizado real. Acedido como um atributo personalizado real.
ComImportAttribute CorTypeAttr.tdImport Type.Attributes.Import
SerializableAttribute CorTypeAttr.tdSerializable Type.Attributes.Serializable
NonSerializedAttribute CorFieldAttr.fdNotSerialized FieldInfo.Attributes.NotSerialized
MethodImplAttribute CorMethodImpl MethodInfo.GetMethodImplementationFlags()

ConstructorInfo.GetMethodImplementationFlags()
MarshalAsAttribute Várias partes. Sem acessório.
PreserveSigAttribute CorMethodImpl.miOLE MethodInfo.GetMethodImplementationFlags().OLE

ConstructorInfo.GetMethodImplementationFlags().OLE
InAttribute CorParamAttr.pdIn ParameterInfo.Attributes.In
OutAttribute CorParamAttr.pdOut ParameterInfo.Attributes.Out
StructLayoutAttribute CorTypeAttr.tdLayoutSequential

CorTypeAttr.tdExplicitLayout

CorTypeAttr.tdAnsiClass

CorTypeAttr.tdUnicodeClass

CorTypeAttr.tdAutoClass

Fazer as malas para a turma.
Type.Attributes.LayoutSequential

Type.Attributes.ExplicitLayout

Type.Attributes.AnsiClass

Type.Attributes.UnicodeClass

Type.Attributes.AutoClass

Sem acessório.
FieldOffsetAttribute Deslocamento de campo. Sem acessório.
AssemblyLoadAttribute CorAssemblyFlags Sem acessório nem enumerador.

Aplica-se a

GetCustomAttributes(Type, Boolean)

Obtém os atributos personalizados para esta montagem conforme especificado por tipo.

public:
 virtual cli::array <System::Object ^> ^ GetCustomAttributes(Type ^ attributeType, bool inherit);
public virtual object[] GetCustomAttributes(Type attributeType, bool inherit);
abstract member GetCustomAttributes : Type * bool -> obj[]
override this.GetCustomAttributes : Type * bool -> obj[]
Public Overridable Function GetCustomAttributes (attributeType As Type, inherit As Boolean) As Object()

Parâmetros

attributeType
Type

O tipo para o qual os atributos personalizados devem ser devolvidos.

inherit
Boolean

Este argumento é ignorado para objetos do tipo Assembly.

Devoluções

Object[]

Um array que contém os atributos personalizados para este assembly, conforme especificado por attributeType.

Implementações

Exceções

attributeType é null.

attributeType não é um tipo de execução.

Observações

Este método implementa o método de interface correspondente ICustomAttributeProvider . Portanto, o inherit parâmetro deve ser especificado mesmo que seja ignorado.

Um pseudo-atributo indica bits dos metadados centrais que devem ser definidos quando o atributo está presente. Ao contrário de um atributo personalizado que estende os metadados de um tipo e é guardado juntamente com o tipo, um pseudo-atributo modifica os metadados do tipo e depois é descartado. Alguns dos bits resultantes não podem ser acedidos usando APIs de reflexão existentes.

A tabela seguinte resume os diferentes pseudo-atributos e os acessores para os bits disponíveis em reflexão.

Pseudo-Attribute Bits de Metadados Acessor de Reflexão
DllImportAttribute CorPInvokeMap

Nome da DLL
Não há acessório para PInvokeMap os atributos de método ordinário/global de método.

Sem acessório para o nome DLL.
GuidAttribute Armazenado como um atributo personalizado real. Acedido como um atributo personalizado real.
ComImportAttribute CorTypeAttr.tdImport Type.Attributes.Import
SerializableAttribute CorTypeAttr.tdSerializable Type.Attributes.Serializable
NonSerializedAttribute CorFieldAttr.fdNotSerialized FieldInfo.Attributes.NotSerialized
MethodImplAttribute CorMethodImpl MethodInfo.GetMethodImplementationFlags()

ConstructorInfo.GetMethodImplementationFlags()
MarshalAsAttribute Várias partes. Sem acessório.
PreserveSigAttribute CorMethodImpl.miOLE MethodInfo.GetMethodImplementationFlags().OLE

ConstructorInfo.GetMethodImplementationFlags().OLE
InAttribute CorParamAttr.pdIn ParameterInfo.Attributes.In
OutAttribute CorParamAttr.pdOut ParameterInfo.Attributes.Out
StructLayoutAttribute CorTypeAttr.tdLayoutSequential

CorTypeAttr.tdExplicitLayout

CorTypeAttr.tdAnsiClass

CorTypeAttr.tdUnicodeClass

CorTypeAttr.tdAutoClass

Fazer as malas para a turma.
Type.Attributes.LayoutSequential

Type.Attributes.ExplicitLayout

Type.Attributes.AnsiClass

Type.Attributes.UnicodeClass

Type.Attributes.AutoClass

Sem acessório.
FieldOffsetAttribute Deslocamento de campo. Sem acessório.
AssemblyLoadAttribute CorAssemblyFlags Sem acessório nem enumerador.

Aplica-se a