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()
Параметры
Возвращаемое значение
Массив, содержащий настраиваемые атрибуты для этой сборки.
Реализации
Комментарии
Этот метод реализует соответствующий 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().OLEConstructorInfo.GetMethodImplementationFlags().OLE |
| InAttribute | CorParamAttr.pdIn |
ParameterInfo.Attributes.In |
| OutAttribute | CorParamAttr.pdOut |
ParameterInfo.Attributes.Out |
| StructLayoutAttribute | CorTypeAttr.tdLayoutSequentialCorTypeAttr.tdExplicitLayoutCorTypeAttr.tdAnsiClassCorTypeAttr.tdUnicodeClassCorTypeAttr.tdAutoClassУпаковка классов. |
Type.Attributes.LayoutSequentialType.Attributes.ExplicitLayoutType.Attributes.AnsiClassType.Attributes.UnicodeClassType.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
Тип, для которого возвращаются пользовательские атрибуты.
Возвращаемое значение
Массив, содержащий настраиваемые атрибуты для этой сборки, как указано в 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().OLEConstructorInfo.GetMethodImplementationFlags().OLE |
| InAttribute | CorParamAttr.pdIn |
ParameterInfo.Attributes.In |
| OutAttribute | CorParamAttr.pdOut |
ParameterInfo.Attributes.Out |
| StructLayoutAttribute | CorTypeAttr.tdLayoutSequentialCorTypeAttr.tdExplicitLayoutCorTypeAttr.tdAnsiClassCorTypeAttr.tdUnicodeClassCorTypeAttr.tdAutoClassУпаковка классов. |
Type.Attributes.LayoutSequentialType.Attributes.ExplicitLayoutType.Attributes.AnsiClassType.Attributes.UnicodeClassType.Attributes.AutoClassНет метода доступа. |
| FieldOffsetAttribute | Смещение поля. | Нет метода доступа. |
AssemblyLoadAttribute |
CorAssemblyFlags |
Нет метода доступа или перечислителя. |