Assembly.GetCustomAttributes Assembly.GetCustomAttributes Assembly.GetCustomAttributes Assembly.GetCustomAttributes Method

Definição

Obtém os atributos personalizados para esse assembly.Gets the custom attributes for this assembly.

Sobrecargas

GetCustomAttributes(Boolean) GetCustomAttributes(Boolean) GetCustomAttributes(Boolean) GetCustomAttributes(Boolean)

Obtém todos os atributos personalizados para esse assembly.Gets all the custom attributes for this assembly.

GetCustomAttributes(Type, Boolean) GetCustomAttributes(Type, Boolean) GetCustomAttributes(Type, Boolean) GetCustomAttributes(Type, Boolean)

Obtém os atributos personalizados para esse assembly conforme especificado pelo tipo.Gets the custom attributes for this assembly as specified by type.

GetCustomAttributes(Boolean) GetCustomAttributes(Boolean) GetCustomAttributes(Boolean) GetCustomAttributes(Boolean)

Obtém todos os atributos personalizados para esse assembly.Gets all the custom attributes for this 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 Boolean Boolean Boolean

Este argumento é ignorado para objetos do tipo Assembly.This argument is ignored for objects of type Assembly.

Retornos

Object[]

Uma matriz que contém os atributos personalizados para este assembly.An array that contains the custom attributes for this assembly.

Implementações

Comentários

Esse método implementa o método ICustomAttributeProvider de interface correspondente.This method implements the corresponding ICustomAttributeProvider interface method. Portanto, o inherit parâmetro deve ser especificado, embora seja ignorado.Therefore, the inherit parameter must be specified even though it is ignored.

Um pseudo atributo indica bits dos metadados principais que devem ser definidos quando o atributo estiver presente.A pseudo-attribute indicates bits of the core metadata that must be set when the attribute is present. Ao contrário de um atributo personalizado que estende os metadados para um tipo e é salvo junto com o tipo, um pseudo atributo modifica os metadados para o tipo e, em seguida, é Descartado.Unlike a custom attribute that extends the metadata for a type and is saved along with the type, a pseudo-attribute modifies the metadata for the type and then is discarded. Alguns dos bits resultantes não podem ser acessados usando APIs de reflexão existentes.Some of the resulting bits cannot be accessed using existing reflection APIs.

A tabela a seguir resume os pseudoelementos diferentes e os acessadores para os bits que estão disponíveis em reflexão.The following table summarizes the different pseudo-attributes and the accessors for the bits that are available in reflection.

Pseudo atributoPseudo-Attribute Bits de metadadosMetadata Bits Acessador de reflexãoReflection Accessor
DllImportAttributeDllImportAttribute CorPInvokeMapCorPInvokeMap

Nome da DLLDLL name
Nenhum acessador para PInvokeMap para atributos comuns de método/método global.No accessor for PInvokeMap for ordinary method/global method attributes.

Nenhum acessador para o nome da DLL.No accessor for DLL name.
GuidAttributeGuidAttribute Armazenado como um atributo personalizado real.Stored as a real custom attribute. Acessado como um atributo personalizado real.Accessed as a real custom attribute.
ComImportAttributeComImportAttribute CorTypeAttr.tdImportCorTypeAttr.tdImport Type.Attributes.ImportType.Attributes.Import
SerializableAttributeSerializableAttribute CorTypeAttr.tdSerializableCorTypeAttr.tdSerializable Type. Attributes. SerializableType.Attributes.Serializable
NonSerializedAttributeNonSerializedAttribute CorFieldAttr.fdNotSerializedCorFieldAttr.fdNotSerialized FieldInfo.Attributes.NotSerializedFieldInfo.Attributes.NotSerialized
MethodImplAttributeMethodImplAttribute CorMethodImplCorMethodImpl MethodInfo.GetMethodImplementationFlags()MethodInfo.GetMethodImplementationFlags()

ConstructorInfo.GetMethodImplementationFlags()ConstructorInfo.GetMethodImplementationFlags()
MarshalAsAttributeMarshalAsAttribute Vários bits.Various bits. Nenhum acessador.No accessor.
PreserveSigAttributePreserveSigAttribute CorMethodImpl.miOLECorMethodImpl.miOLE MethodInfo.GetMethodImplementationFlags().OLEMethodInfo.GetMethodImplementationFlags().OLE

ConstructorInfo.GetMethodImplementationFlags().OLEConstructorInfo.GetMethodImplementationFlags().OLE
InAttributeInAttribute CorParamAttr.pdInCorParamAttr.pdIn ParameterInfo.Attributes.InParameterInfo.Attributes.In
AttributeOutAttribute CorParamAttr.pdOutCorParamAttr.pdOut ParameterInfo.Attributes.OutParameterInfo.Attributes.Out
StructLayoutAttributeStructLayoutAttribute CorTypeAttr.tdLayoutSequentialCorTypeAttr.tdLayoutSequential

CorTypeAttr.tdExplicitLayoutCorTypeAttr.tdExplicitLayout

CorTypeAttr.tdAnsiClassCorTypeAttr.tdAnsiClass

CorTypeAttr.tdUnicodeClassCorTypeAttr.tdUnicodeClass

CorTypeAttr.tdAutoClassCorTypeAttr.tdAutoClass

Empacotamento de classe.Class packing.
Type.Attributes.LayoutSequentialType.Attributes.LayoutSequential

Type.Attributes.ExplicitLayoutType.Attributes.ExplicitLayout

Type.Attributes.AnsiClassType.Attributes.AnsiClass

Type.Attributes.UnicodeClassType.Attributes.UnicodeClass

Type.Attributes.AutoClassType.Attributes.AutoClass

Nenhum acessador.No accessor.
FieldOffsetAttributeFieldOffsetAttribute Deslocamento de campo.Field offset. Nenhum acessador.No accessor.
AssemblyLoadAttributeAssemblyLoadAttribute CorAssemblyFlagsCorAssemblyFlags Nenhum acessador ou enumerador.No accessor or enumerator.

Segurança

ReflectionPermission
quando invocado com associação tardia por meio de mecanismos como InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]).when invoked late-bound through mechanisms such as InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]). Enumeração associada: MemberAccessAssociated enumeration: MemberAccess

GetCustomAttributes(Type, Boolean) GetCustomAttributes(Type, Boolean) GetCustomAttributes(Type, Boolean) GetCustomAttributes(Type, Boolean)

Obtém os atributos personalizados para esse assembly conforme especificado pelo tipo.Gets the custom attributes for this assembly as specified by type.

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 Type Type Type

O tipo para o qual os atributos personalizados devem ser retornados.The type for which the custom attributes are to be returned.

inherit
Boolean Boolean Boolean Boolean

Este argumento é ignorado para objetos do tipo Assembly.This argument is ignored for objects of type Assembly.

Retornos

Object[]

Uma matriz que contém os atributos personalizados para este assembly conforme especificado por attributeType.An array that contains the custom attributes for this assembly as specified by attributeType.

Implementações

Exceções

attributeType não é um tipo de tempo de execução.attributeType is not a runtime type.

Comentários

Esse método implementa o método ICustomAttributeProvider de interface correspondente.This method implements the corresponding ICustomAttributeProvider interface method. Portanto, o inherit parâmetro deve ser especificado, embora seja ignorado.Therefore, the inherit parameter must be specified even though it is ignored.

Um pseudo atributo indica bits dos metadados principais que devem ser definidos quando o atributo estiver presente.A pseudo-attribute indicates bits of the core metadata that must be set when the attribute is present. Ao contrário de um atributo personalizado que estende os metadados para um tipo e é salvo junto com o tipo, um pseudo atributo modifica os metadados para o tipo e, em seguida, é Descartado.Unlike a custom attribute that extends the metadata for a type and is saved along with the type, a pseudo-attribute modifies the metadata for the type and then is discarded. Alguns dos bits resultantes não podem ser acessados usando APIs de reflexão existentes.Some of the resulting bits cannot be accessed using existing reflection APIs.

A tabela a seguir resume os pseudoelementos diferentes e os acessadores para os bits que estão disponíveis em reflexão.The following table summarizes the different pseudo-attributes and the accessors for the bits that are available in reflection.

Pseudo atributoPseudo-Attribute Bits de metadadosMetadata Bits Acessador de reflexãoReflection Accessor
DllImportAttributeDllImportAttribute CorPInvokeMapCorPInvokeMap

Nome da DLLDLL name
Nenhum acessador para PInvokeMap para atributos comuns de método/método global.No accessor for PInvokeMap for ordinary method/global method attributes.

Nenhum acessador para o nome da DLL.No accessor for DLL name.
GuidAttributeGuidAttribute Armazenado como um atributo personalizado real.Stored as a real custom attribute. Acessado como um atributo personalizado real.Accessed as a real custom attribute.
ComImportAttributeComImportAttribute CorTypeAttr.tdImportCorTypeAttr.tdImport Type.Attributes.ImportType.Attributes.Import
SerializableAttributeSerializableAttribute CorTypeAttr.tdSerializableCorTypeAttr.tdSerializable Type. Attributes. SerializableType.Attributes.Serializable
NonSerializedAttributeNonSerializedAttribute CorFieldAttr.fdNotSerializedCorFieldAttr.fdNotSerialized FieldInfo.Attributes.NotSerializedFieldInfo.Attributes.NotSerialized
MethodImplAttributeMethodImplAttribute CorMethodImplCorMethodImpl MethodInfo.GetMethodImplementationFlags()MethodInfo.GetMethodImplementationFlags()

ConstructorInfo.GetMethodImplementationFlags()ConstructorInfo.GetMethodImplementationFlags()
MarshalAsAttributeMarshalAsAttribute Vários bits.Various bits. Nenhum acessador.No accessor.
PreserveSigAttributePreserveSigAttribute CorMethodImpl.miOLECorMethodImpl.miOLE MethodInfo.GetMethodImplementationFlags().OLEMethodInfo.GetMethodImplementationFlags().OLE

ConstructorInfo.GetMethodImplementationFlags().OLEConstructorInfo.GetMethodImplementationFlags().OLE
InAttributeInAttribute CorParamAttr.pdInCorParamAttr.pdIn ParameterInfo.Attributes.InParameterInfo.Attributes.In
AttributeOutAttribute CorParamAttr.pdOutCorParamAttr.pdOut ParameterInfo.Attributes.OutParameterInfo.Attributes.Out
StructLayoutAttributeStructLayoutAttribute CorTypeAttr.tdLayoutSequentialCorTypeAttr.tdLayoutSequential

CorTypeAttr.tdExplicitLayoutCorTypeAttr.tdExplicitLayout

CorTypeAttr.tdAnsiClassCorTypeAttr.tdAnsiClass

CorTypeAttr.tdUnicodeClassCorTypeAttr.tdUnicodeClass

CorTypeAttr.tdAutoClassCorTypeAttr.tdAutoClass

Empacotamento de classe.Class packing.
Type.Attributes.LayoutSequentialType.Attributes.LayoutSequential

Type.Attributes.ExplicitLayoutType.Attributes.ExplicitLayout

Type.Attributes.AnsiClassType.Attributes.AnsiClass

Type.Attributes.UnicodeClassType.Attributes.UnicodeClass

Type.Attributes.AutoClassType.Attributes.AutoClass

Nenhum acessador.No accessor.
FieldOffsetAttributeFieldOffsetAttribute Deslocamento de campo.Field offset. Nenhum acessador.No accessor.
AssemblyLoadAttributeAssemblyLoadAttribute CorAssemblyFlagsCorAssemblyFlags Nenhum acessador ou enumerador.No accessor or enumerator.

Segurança

ReflectionPermission
quando invocado com associação tardia por meio de mecanismos como InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]).when invoked late-bound through mechanisms such as InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]). Enumeração associada: MemberAccessAssociated enumeration: MemberAccess

Aplica-se a