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()
Параметры
Возвращаемое значение
Массив, содержащий настраиваемые атрибуты для этой сборки.
Реализации
Комментарии
Этот метод реализует соответствующий 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
Тип, для которого должны быть возвращены настраиваемые атрибуты.
Возвращаемое значение
Массив, содержащий настраиваемые атрибуты для этой сборки, заданные параметром 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 |
Нет метода доступа или перечислителя. |