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
Отсутствует метод доступа для Пинвокемап для атрибутов обычного метода или глобального метода.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.tdImport Type. Attributes. ImportType.Attributes.Import
SerializableAttributeSerializableAttribute Кортипеаттр. ТдсериализаблеCorTypeAttr.tdSerializable Type. Attributes. SerializableType.Attributes.Serializable
NonSerializedAttributeNonSerializedAttribute Корфиелдаттр. ФднотсериализедCorFieldAttr.fdNotSerialized FieldInfo. Attributes. НотсериализедFieldInfo.Attributes.NotSerialized
месодимплаттрибутеMethodImplAttribute кормесодимплCorMethodImpl MethodInfo. Жетмесодимплементатионфлагс ()MethodInfo.GetMethodImplementationFlags()

ConstructorInfo. Жетмесодимплементатионфлагс ()ConstructorInfo.GetMethodImplementationFlags()
MarshalAsAttributeMarshalAsAttribute Различные биты.Various bits. Нет метода доступа.No accessor.
пресервесигаттрибутеPreserveSigAttribute Кормесодимпл. МиолеCorMethodImpl.miOLE MethodInfo. Жетмесодимплементатионфлагс (). OLEDBMethodInfo.GetMethodImplementationFlags().OLE

ConstructorInfo. Жетмесодимплементатионфлагс (). OLEDBConstructorInfo.GetMethodImplementationFlags().OLE
Атрибуты InAttributeInAttribute Корпараматтр. ПДИНCorParamAttr.pdIn ParameterInfo.Attributes.InParameterInfo.Attributes.In
OutAttributeOutAttribute Корпараматтр. ПдаутCorParamAttr.pdOut ParameterInfo. Attributes. outParameterInfo.Attributes.Out
StructLayoutAttributeStructLayoutAttribute Кортипеаттр. ТдлайаутсекуентиалCorTypeAttr.tdLayoutSequential

Кортипеаттр. ТдексплиЦитлайаутCorTypeAttr.tdExplicitLayout

Кортипеаттр. ТдансиклассCorTypeAttr.tdAnsiClass

Кортипеаттр. ТдуникодеклассCorTypeAttr.tdUnicodeClass

Кортипеаттр. ТдаутоклассCorTypeAttr.tdAutoClass

Упаковка класса.Class packing.
Type. Attributes. ЛайаутсекуентиалType.Attributes.LayoutSequential

Type. Attributes. ЕксплиЦитлайаутType.Attributes.ExplicitLayout

Type. Attributes. АнсиклассType.Attributes.AnsiClass

Type. Attributes. УникодеклассType.Attributes.UnicodeClass

Type. Attributes. автоклассType.Attributes.AutoClass

Нет метода доступа.No accessor.
фиелдоффсетаттрибутеFieldOffsetAttribute Смещение поля.Field offset. Нет метода доступа.No accessor.
ассемблилоадаттрибутеAssemblyLoadAttribute 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 имеет значение null.attributeType is null.

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
Отсутствует метод доступа для Пинвокемап для атрибутов обычного метода или глобального метода.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.tdImport Type. Attributes. ImportType.Attributes.Import
SerializableAttributeSerializableAttribute Кортипеаттр. ТдсериализаблеCorTypeAttr.tdSerializable Type. Attributes. SerializableType.Attributes.Serializable
NonSerializedAttributeNonSerializedAttribute Корфиелдаттр. ФднотсериализедCorFieldAttr.fdNotSerialized FieldInfo. Attributes. НотсериализедFieldInfo.Attributes.NotSerialized
месодимплаттрибутеMethodImplAttribute кормесодимплCorMethodImpl MethodInfo. Жетмесодимплементатионфлагс ()MethodInfo.GetMethodImplementationFlags()

ConstructorInfo. Жетмесодимплементатионфлагс ()ConstructorInfo.GetMethodImplementationFlags()
MarshalAsAttributeMarshalAsAttribute Различные биты.Various bits. Нет метода доступа.No accessor.
пресервесигаттрибутеPreserveSigAttribute Кормесодимпл. МиолеCorMethodImpl.miOLE MethodInfo. Жетмесодимплементатионфлагс (). OLEDBMethodInfo.GetMethodImplementationFlags().OLE

ConstructorInfo. Жетмесодимплементатионфлагс (). OLEDBConstructorInfo.GetMethodImplementationFlags().OLE
Атрибуты InAttributeInAttribute Корпараматтр. ПДИНCorParamAttr.pdIn ParameterInfo.Attributes.InParameterInfo.Attributes.In
OutAttributeOutAttribute Корпараматтр. ПдаутCorParamAttr.pdOut ParameterInfo. Attributes. outParameterInfo.Attributes.Out
StructLayoutAttributeStructLayoutAttribute Кортипеаттр. ТдлайаутсекуентиалCorTypeAttr.tdLayoutSequential

Кортипеаттр. ТдексплиЦитлайаутCorTypeAttr.tdExplicitLayout

Кортипеаттр. ТдансиклассCorTypeAttr.tdAnsiClass

Кортипеаттр. ТдуникодеклассCorTypeAttr.tdUnicodeClass

Кортипеаттр. ТдаутоклассCorTypeAttr.tdAutoClass

Упаковка класса.Class packing.
Type. Attributes. ЛайаутсекуентиалType.Attributes.LayoutSequential

Type. Attributes. ЕксплиЦитлайаутType.Attributes.ExplicitLayout

Type. Attributes. АнсиклассType.Attributes.AnsiClass

Type. Attributes. УникодеклассType.Attributes.UnicodeClass

Type. Attributes. автоклассType.Attributes.AutoClass

Нет метода доступа.No accessor.
фиелдоффсетаттрибутеFieldOffsetAttribute Смещение поля.Field offset. Нет метода доступа.No accessor.
ассемблилоадаттрибутеAssemblyLoadAttribute 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

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