Поделиться через


Assembly.GetCustomAttributes Метод

Определение

Получает настраиваемые атрибуты для этой сборки.

Перегрузки

GetCustomAttributes(Boolean)

Получает все настраиваемые атрибуты для этой сборки.

GetCustomAttributes(Type, Boolean)

Получает настраиваемые атрибуты для этой сборки как заданные по типу.

GetCustomAttributes(Boolean)

Исходный код:
Assembly.cs
Исходный код:
Assembly.cs
Исходный код:
Assembly.cs

Получает все настраиваемые атрибуты для этой сборки.

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

Данный аргумент не учитывается для объектов типа Assembly.

Возвращаемое значение

Object[]

Массив, содержащий настраиваемые атрибуты для этой сборки.

Реализации

Комментарии

Этот метод реализует соответствующий ICustomAttributeProvider метод интерфейса. Поэтому параметр необходимо указать, inherit даже если он игнорируется.

Псевдо-атрибут указывает биты основных метаданных, которые должны быть заданы при наличии атрибута. В отличие от настраиваемого атрибута, который расширяет метаданные для типа и сохраняется вместе с типом, псевдо-атрибут изменяет метаданные для типа, а затем удаляется. Некоторые из полученных битов невозможно получить доступ с помощью существующих API отражения.

В следующей таблице перечислены различные псевдо-атрибуты и методы доступа для битов, доступных в отражении.

Pseudo-Attribute Биты метаданных Метод доступа отражения
DllImportAttribute CorPInvokeMap

Имя DLL
Нет метода доступа для PInvokeMap атрибутов обычного метода или глобального метода.

Нет метода доступа для имени БИБЛИОТЕКи DLL.
GuidAttribute Хранится как реальный настраиваемый атрибут. Доступ к как реальному пользовательскому атрибуту.
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 Различные биты. Нет метода доступа.
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

Упаковка классов.
Type.Attributes.LayoutSequential

Type.Attributes.ExplicitLayout

Type.Attributes.AnsiClass

Type.Attributes.UnicodeClass

Type.Attributes.AutoClass

Нет метода доступа.
FieldOffsetAttribute Смещение поля. Нет метода доступа.
AssemblyLoadAttribute CorAssemblyFlags Нет метода доступа или перечислителя.

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

GetCustomAttributes(Type, Boolean)

Исходный код:
Assembly.cs
Исходный код:
Assembly.cs
Исходный код:
Assembly.cs

Получает настраиваемые атрибуты для этой сборки как заданные по типу.

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

Тип, для которого должны быть возвращены настраиваемые атрибуты.

inherit
Boolean

Данный аргумент не учитывается для объектов типа Assembly.

Возвращаемое значение

Object[]

Массив, содержащий настраиваемые атрибуты для этой сборки, заданные параметром attributeType.

Реализации

Исключения

attributeType имеет значение null.

attributeType не является типом среды выполнения.

Комментарии

Этот метод реализует соответствующий ICustomAttributeProvider метод интерфейса. Поэтому параметр необходимо указать, inherit даже если он игнорируется.

Псевдо-атрибут указывает биты основных метаданных, которые должны быть заданы при наличии атрибута. В отличие от настраиваемого атрибута, который расширяет метаданные для типа и сохраняется вместе с типом, псевдо-атрибут изменяет метаданные для типа, а затем удаляется. Некоторые из полученных битов невозможно получить доступ с помощью существующих API отражения.

В следующей таблице перечислены различные псевдо-атрибуты и методы доступа для битов, доступных в отражении.

Pseudo-Attribute Биты метаданных Метод доступа отражения
DllImportAttribute CorPInvokeMap

Имя DLL
Нет метода доступа для PInvokeMap атрибутов обычного метода или глобального метода.

Нет метода доступа для имени БИБЛИОТЕКи DLL.
GuidAttribute Хранится как реальный настраиваемый атрибут. Доступ к как реальному пользовательскому атрибуту.
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 Различные биты. Нет метода доступа.
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

Упаковка классов.
Type.Attributes.LayoutSequential

Type.Attributes.ExplicitLayout

Type.Attributes.AnsiClass

Type.Attributes.UnicodeClass

Type.Attributes.AutoClass

Нет метода доступа.
FieldOffsetAttribute Смещение поля. Нет метода доступа.
AssemblyLoadAttribute CorAssemblyFlags Нет метода доступа или перечислителя.

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