Assembly.GetCustomAttributes Метод

Определение

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

Перегрузки

Имя Описание
GetCustomAttributes(Boolean)

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

GetCustomAttributes(Type, Boolean)

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

GetCustomAttributes(Boolean)

Исходный код:
Assembly.cs
Исходный код:
Assembly.cs
Исходный код:
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
Исходный код:
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 Нет метода доступа или перечислителя.

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