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

Определение

Получает настраиваемые атрибуты для этой сборки.Gets the custom attributes for this assembly.

Перегрузки

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

Получает все настраиваемые атрибуты для этой сборки.Gets all the custom attributes for this assembly.

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

Получает настраиваемые атрибуты для этой сборки как заданные по типу.Gets the custom attributes for this assembly as specified by type.

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

Получает все настраиваемые атрибуты для этой сборки.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()

Параметры

inherit
Boolean Boolean Boolean Boolean

Данный аргумент не учитывается для объектов типа Assembly.This argument is ignored for objects of type Assembly.

Возвраты

Object[]

Массив, содержащий настраиваемые атрибуты для этой сборки.An array that contains the custom attributes for this assembly.

Реализации

Комментарии

Этот метод реализует соответствующий ICustomAttributeProvider метод интерфейса.This method implements the corresponding ICustomAttributeProvider interface method. Таким образом inherit параметр должен быть указан, несмотря на то, что он учитывается.Therefore, the inherit parameter must be specified even though it is ignored.

Псевдо-атрибут задает биты основных метаданных, которые должны быть установлены при наличии этого атрибута.A pseudo-attribute indicates bits of the core metadata that must be set when the attribute is present. В отличие от пользовательского атрибута, который расширяет метаданные для типа и сохраняется вместе с типом, псевдо-атрибут изменяет метаданные для типа, а затем удаляются.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. Некоторые из получившиеся биты, нельзя получить с помощью существующих API отражения.Some of the resulting bits cannot be accessed using existing reflection APIs.

В следующей таблице перечислены различные псевдо-атрибуты и методы доступа для битов, доступных при отражении.The following table summarizes the different pseudo-attributes and the accessors for the bits that are available in reflection.

Псевдо-атрибутPseudo-Attribute Биты метаданныхMetadata Bits Метод доступа к отражениюReflection Accessor
DllImportAttributeDllImportAttribute CorPInvokeMapCorPInvokeMap

Имя библиотеки DLLDLL name
Нет метода доступа для PInvokeMap для атрибутов обычного метода/глобального метода.No accessor for PInvokeMap for ordinary method/global method attributes.

Нет метода доступа для имени библиотеки DLL.No accessor for DLL name.
GuidAttributeGuidAttribute Хранятся в виде фактических пользовательских атрибутов.Stored as a real custom attribute. Доступен как реальный пользовательский атрибут.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 Различные элементы.Various bits. Нет метода доступа.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
OutAttributeOutAttribute CorParamAttr.pdOutCorParamAttr.pdOut ParameterInfo.Attributes.OutParameterInfo.Attributes.Out
StructLayoutAttributeStructLayoutAttribute CorTypeAttr.tdLayoutSequentialCorTypeAttr.tdLayoutSequential

CorTypeAttr.tdExplicitLayoutCorTypeAttr.tdExplicitLayout

CorTypeAttr.tdAnsiClassCorTypeAttr.tdAnsiClass

CorTypeAttr.tdUnicodeClassCorTypeAttr.tdUnicodeClass

CorTypeAttr.tdAutoClassCorTypeAttr.tdAutoClass

Упаковка классов.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

Нет метода доступа.No accessor.
FieldOffsetAttributeFieldOffsetAttribute Смещение поля.Field offset. Нет метода доступа.No accessor.
AssemblyLoadAttributeAssemblyLoadAttribute CorAssemblyFlagsCorAssemblyFlags Нет доступа или перечислителя.No accessor or enumerator.

Безопасность

ReflectionPermission
При вызове с поздним связыванием через механизмы например 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[]). Связанное перечисление: MemberAccessAssociated enumeration: MemberAccess

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

Получает настраиваемые атрибуты для этой сборки как заданные по типу.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()

Параметры

attributeType
Type Type Type Type

Тип, для которого должны быть возвращены настраиваемые атрибуты.The type for which the custom attributes are to be returned.

inherit
Boolean Boolean Boolean Boolean

Данный аргумент не учитывается для объектов типа Assembly.This argument is ignored for objects of type Assembly.

Возвраты

Object[]

Массив, содержащий настраиваемые атрибуты для этой сборки, заданные параметром attributeType.An array that contains the custom attributes for this assembly as specified by attributeType.

Реализации

Исключения

attributeType не является типом среды выполнения.attributeType is not a runtime type.

Комментарии

Этот метод реализует соответствующий ICustomAttributeProvider метод интерфейса.This method implements the corresponding ICustomAttributeProvider interface method. Таким образом inherit параметр должен быть указан, несмотря на то, что он учитывается.Therefore, the inherit parameter must be specified even though it is ignored.

Псевдо-атрибут задает биты основных метаданных, которые должны быть установлены при наличии этого атрибута.A pseudo-attribute indicates bits of the core metadata that must be set when the attribute is present. В отличие от пользовательского атрибута, который расширяет метаданные для типа и сохраняется вместе с типом, псевдо-атрибут изменяет метаданные для типа, а затем удаляются.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. Некоторые из получившиеся биты, нельзя получить с помощью существующих API отражения.Some of the resulting bits cannot be accessed using existing reflection APIs.

В следующей таблице перечислены различные псевдо-атрибуты и методы доступа для битов, доступных при отражении.The following table summarizes the different pseudo-attributes and the accessors for the bits that are available in reflection.

Псевдо-атрибутPseudo-Attribute Биты метаданныхMetadata Bits Метод доступа к отражениюReflection Accessor
DllImportAttributeDllImportAttribute CorPInvokeMapCorPInvokeMap

Имя библиотеки DLLDLL name
Нет метода доступа для PInvokeMap для атрибутов обычного метода/глобального метода.No accessor for PInvokeMap for ordinary method/global method attributes.

Нет метода доступа для имени библиотеки DLL.No accessor for DLL name.
GuidAttributeGuidAttribute Хранятся в виде фактических пользовательских атрибутов.Stored as a real custom attribute. Доступен как реальный пользовательский атрибут.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 Различные элементы.Various bits. Нет метода доступа.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
OutAttributeOutAttribute CorParamAttr.pdOutCorParamAttr.pdOut ParameterInfo.Attributes.OutParameterInfo.Attributes.Out
StructLayoutAttributeStructLayoutAttribute CorTypeAttr.tdLayoutSequentialCorTypeAttr.tdLayoutSequential

CorTypeAttr.tdExplicitLayoutCorTypeAttr.tdExplicitLayout

CorTypeAttr.tdAnsiClassCorTypeAttr.tdAnsiClass

CorTypeAttr.tdUnicodeClassCorTypeAttr.tdUnicodeClass

CorTypeAttr.tdAutoClassCorTypeAttr.tdAutoClass

Упаковка классов.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

Нет метода доступа.No accessor.
FieldOffsetAttributeFieldOffsetAttribute Смещение поля.Field offset. Нет метода доступа.No accessor.
AssemblyLoadAttributeAssemblyLoadAttribute CorAssemblyFlagsCorAssemblyFlags Нет доступа или перечислителя.No accessor or enumerator.

Безопасность

ReflectionPermission
При вызове с поздним связыванием через механизмы например 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[]). Связанное перечисление: MemberAccessAssociated enumeration: MemberAccess

Применяется к