Assembly.GetCustomAttributes Método

Definição

Obtém os atributos personalizados para esse assembly.

Sobrecargas

GetCustomAttributes(Boolean)

Obtém todos os atributos personalizados para esse assembly.

GetCustomAttributes(Type, Boolean)

Obtém os atributos personalizados para esse assembly conforme especificado pelo tipo.

GetCustomAttributes(Boolean)

Obtém todos os atributos personalizados para esse assembly.

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.

Retornos

Object[]

Uma matriz que contém os atributos personalizados para este assembly.

Implementações

Comentários

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

Um pseudoadódigo indica bits dos metadados principais que devem ser definidos quando o atributo está presente. Ao contrário de um atributo personalizado que estende os metadados para um tipo e é salvo junto com o tipo , um pseudoadódigo modifica os metadados para o tipo e, em seguida, é descartado. Alguns dos bits resultantes não podem ser acessados usando APIs de reflexão existentes.

A tabela a seguir resume os diferentes pseudoa atributos e os acessadores para os bits que estão disponíveis na reflexão.

Pseudo-Attribute Bits de metadados Acessador de reflexão
DllImportAttribute CorPInvokeMap

Nome da DLL
Nenhum acessador para PInvokeMap atributos comuns de método/método global.

Nenhum acessador para o nome da DLL.
GuidAttribute Armazenado como um atributo personalizado real. Acessado 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ários bits. Nenhum acessador.
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

Empacotamento de classe.
Type.Attributes.LayoutSequential

Type.Attributes.ExplicitLayout

Type.Attributes.AnsiClass

Type.Attributes.UnicodeClass

Type.Attributes.AutoClass

Nenhum acessador.
FieldOffsetAttribute Deslocamento de campo. Nenhum acessador.
AssemblyLoadAttribute CorAssemblyFlags Nenhum acessador ou enumerador.

Aplica-se a

GetCustomAttributes(Type, Boolean)

Obtém os atributos personalizados para esse assembly conforme especificado pelo 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 retornados.

inherit
Boolean

Este argumento é ignorado para objetos do tipo Assembly.

Retornos

Object[]

Uma matriz 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 runtime.

Comentários

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

Um pseudoadódigo indica bits dos metadados principais que devem ser definidos quando o atributo está presente. Ao contrário de um atributo personalizado que estende os metadados para um tipo e é salvo junto com o tipo , um pseudoadódigo modifica os metadados para o tipo e, em seguida, é descartado. Alguns dos bits resultantes não podem ser acessados usando APIs de reflexão existentes.

A tabela a seguir resume os diferentes pseudoa atributos e os acessadores para os bits que estão disponíveis na reflexão.

Pseudo-Attribute Bits de metadados Acessador de reflexão
DllImportAttribute CorPInvokeMap

Nome da DLL
Nenhum acessador para PInvokeMap atributos comuns de método/método global.

Nenhum acessador para o nome da DLL.
GuidAttribute Armazenado como um atributo personalizado real. Acessado 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ários bits. Nenhum acessador.
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

Empacotamento de classe.
Type.Attributes.LayoutSequential

Type.Attributes.ExplicitLayout

Type.Attributes.AnsiClass

Type.Attributes.UnicodeClass

Type.Attributes.AutoClass

Nenhum acessador.
FieldOffsetAttribute Deslocamento de campo. Nenhum acessador.
AssemblyLoadAttribute CorAssemblyFlags Nenhum acessador ou enumerador.

Aplica-se a