次の方法で共有


Assembly.GetCustomAttributes メソッド (Type, Boolean)

型を指定して、このアセンブリのカスタム属性を取得します。

Overloads Public Overridable Function GetCustomAttributes( _
   ByVal attributeType As Type, _   ByVal inherit As Boolean _) As Object() Implements ICustomAttributeProvider.GetCustomAttributes
[C#]
public virtual object[] GetCustomAttributes(TypeattributeType,boolinherit);
[C++]
public: virtual Object* GetCustomAttributes(Type* attributeType,boolinherit)  __gc[];
[JScript]
public function GetCustomAttributes(
   attributeType : Type,inherit : Boolean) : Object[];

パラメータ

  • attributeType
    カスタム属性を返す対象の Type
  • inherit
    Assembly 型のオブジェクトでは、この引数は無視されます。

戻り値

このアセンブリの attributeType で指定されたカスタム属性を格納しているオブジェクト型の配列。

実装

ICustomAttributeProvider.GetCustomAttributes

例外

例外の種類 条件
ArgumentNullException attributeType が null 参照 (Visual Basic では Nothing) です。
ArgumentException attributeType がランタイム型ではありません。

解説

このメソッドは、対応する ICustomAttributeProvider インターフェイス メソッドを実装します。したがって、 inherit パラメータは無視される場合でも指定する必要があります。

疑似属性は、その属性が存在する場合に設定する必要があるコア メタデータのビットを示します。型のメタデータを拡張し、その型と共に保存されるカスタム属性とは異なり、疑似属性は型のメタデータを変更した後に破棄されます。その結果得られる一部のビットは、既存のリフレクション API を使用してアクセスできません。

擬似属性と、リフレクションで使用可能なビットのアクセサの相違点をまとめた表を次に示します。

擬似属性 メタデータ ビット リフレクション アクセサ
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 アクセサまたは列挙子はありません。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

.NET Framework セキュリティ:

参照

Assembly クラス | Assembly メンバ | System.Reflection 名前空間 | Assembly.GetCustomAttributes オーバーロードの一覧