Assembly.GetCustomAttributes Método
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém os atributos personalizados para esse assembly.
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. |
- Origem:
- Assembly.cs
- Origem:
- Assembly.cs
- Origem:
- Assembly.cs
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
Retornos
Uma matriz que contém os atributos personalizados para este assembly.
Implementações
Comentários
Esse 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 principais que devem ser definidos quando o atributo está presente. Ao contrário de um atributo personalizado que estende os metadados de um tipo e é salvo junto com o tipo , um pseudo-atributo 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 pseudo-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 de método comum/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
.NET 9 e outras versões
Produto | Versões |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
- Origem:
- Assembly.cs
- Origem:
- Assembly.cs
- Origem:
- Assembly.cs
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.
Retornos
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 de interface correspondente ICustomAttributeProvider . Portanto, o inherit
parâmetro deve ser especificado mesmo que seja ignorado.
Um pseudo-atributo 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 de um tipo e é salvo junto com o tipo , um pseudo-atributo 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 pseudo-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 de método comum/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
.NET 9 e outras versões
Produto | Versões |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários: