CustomAttributeTypedArgument プロパティ


関連項目
CustomAttributeTypedArgument 構造体System.Reflection 名前空間
CustomAttributeData クラス
CustomAttributeNamedArgument 構造体
ReflectionOnlyLoad
CustomAttributeTypedArgument メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 オーバーライドされます。 |
![]() | GetHashCode | オーバーライドされます。 |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | op_Equality | 2 つの CustomAttributeTypedArgument 構造体が等しいかどうかをテストします。 |
![]() | op_Inequality | 2 つの CustomAttributeTypedArgument 構造体が異なるかどうかをテストします。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | オーバーライドされます。 引数名、等号、および引数値の文字列形式で構成される文字列を返します。 |

関連項目
CustomAttributeTypedArgument 構造体System.Reflection 名前空間
CustomAttributeData クラス
CustomAttributeNamedArgument 構造体
ReflectionOnlyLoad
CustomAttributeTypedArgument メンバ
検査のコンテキストにおけるカスタム属性の型付き引数を表します。
CustomAttributeTypedArgument データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 オーバーライドされます。 |
![]() | GetHashCode | オーバーライドされます。 |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | op_Equality | 2 つの CustomAttributeTypedArgument 構造体が等しいかどうかをテストします。 |
![]() | op_Inequality | 2 つの CustomAttributeTypedArgument 構造体が異なるかどうかをテストします。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | オーバーライドされます。 引数名、等号、および引数値の文字列形式で構成される文字列を返します。 |

関連項目
CustomAttributeTypedArgument 構造体System.Reflection 名前空間
CustomAttributeData クラス
CustomAttributeNamedArgument 構造体
ReflectionOnlyLoad
CustomAttributeTypedArgument 構造体
アセンブリ: mscorlib (mscorlib.dll 内)

<SerializableAttribute> _ <ComVisibleAttribute(True)> _ Public Structure CustomAttributeTypedArgument

リフレクションのみのコンテキストで検査されているコードは実行できないため、カスタム属性のインスタンスを作成し、System.Attribute.GetCustomAttributes や System.Reflection.MemberInfo.GetCustomAttributes などのメソッドを使用してカスタム属性のプロパティを調べることによってカスタム属性を検査できるとは限りません。また、属性型のコード自体をリフレクションのみのコンテキストに読み込んでも実行することはできません。
CustomAttributeNamedArgument 構造体は、属性コンストラクタを実行せずに、カスタム属性のインスタンスに対して指定されている位置指定引数の型と値にアクセスできるようにするために CustomAttributeData クラスが使用します。また、この構造体は、カスタム属性型の対応するプロパティのコードを実行せずに名前付き引数の型と値にアクセスできるようにします。
属性インスタンスのすべての位置指定引数および名前付き引数の型と値は、CustomAttributeTypedArgument 構造体によって提供されます。CustomAttributeData.ConstructorArguments プロパティが返す位置属性は CustomAttributeTypedArgument 構造体で直接表されますが、CustomAttributeData.NamedArguments プロパティが返す名前付き引数は CustomAttributeNamedArgument 構造体で表されます。名前付き引数の CustomAttributeTypedArgument 構造体を取得するには、CustomAttributeNamedArgument.TypedValue プロパティを使用します。
CustomAttributeData クラスのインスタンスを作成するには、staticGetCustomAttributes ファクトリ メソッドを使用します。

2 つのコンストラクタと 1 つのプロパティを使用して、カスタム属性を定義するコード例を次に示します。属性は、アセンブリ、アセンブリで宣言された型、型のメソッド、およびメソッドのパラメータに対して適用されます。アセンブリを実行した場合、アセンブリ自身がリフレクションのみのコンテキストに読み込まれ、カスタム属性が表示されます。
Imports System Imports System.Reflection Imports System.Collections.Generic ' The example attribute is applied to the assembly. <Assembly:Example(ExampleKind.ThirdKind, Note:="This is a note on the assembly.")> ' An enumeration used by the ExampleAttribute class. Public Enum ExampleKind FirstKind SecondKind ThirdKind FourthKind End Enum ' An example attribute. The attribute can be applied to all ' targets, from assemblies to parameters. ' <AttributeUsage(AttributeTargets.All)> _ Public Class ExampleAttribute Inherits Attribute ' Data for properties. Private kindValue As ExampleKind Private noteValue As String ' Constructors. The parameterless constructor (.ctor) calls ' the constructor that specifies ExampleKind, and supplies the ' default value. ' Public Sub New(ByVal initKind As ExampleKind) kindValue = initKind End Sub Public Sub New() Me.New(ExampleKind.FirstKind) End Sub ' Properties. The Note property must be read/write, so that it can ' be used as a named parameter. ' Public ReadOnly Property Kind As ExampleKind Get Return kindValue End Get End Property Public Property Note As String Get Return noteValue End Get Set noteValue = value End Set End Property End Class ' The example attribute is applied to the test class. ' <Example(ExampleKind.SecondKind, Note:="This is a note on the class.")> _ Public Class Test ' The example attribute is applied to a method, using the ' parameterless constructor and supplying a named argument. ' The attribute is also applied to the method parameter. ' <Example(Note:="This is a note on a method.")> _ Public Sub TestMethod(<Example()> ByVal arg As Object) End Sub ' Sub Main gets objects representing the assembly, the test ' type, the test method, and the method parameter. Custom ' attribute data is displayed for each of these. ' Public Shared Sub Main() Dim asm As [Assembly] = Assembly.ReflectionOnlyLoad("Source") Dim t As Type = asm.GetType("Test") Dim m As MethodInfo = t.GetMethod("TestMethod") Dim p() As ParameterInfo = m.GetParameters() Console.WriteLine(vbCrLf & "Attributes for assembly: {0}", asm) ShowAttributeData(CustomAttributeData.GetCustomAttributes(asm)) Console.WriteLine(vbCrLf & "Attributes for type: {0}", t) ShowAttributeData(CustomAttributeData.GetCustomAttributes(t)) Console.WriteLine(vbCrLf & "Attributes for member: {0}", m) ShowAttributeData(CustomAttributeData.GetCustomAttributes(m)) Console.WriteLine(vbCrLf & "Attributes for parameter: {0}", p) ShowAttributeData(CustomAttributeData.GetCustomAttributes(p(0))) End Sub Private Shared Sub ShowAttributeData( _ ByVal attributes As IList(Of CustomAttributeData)) For Each cad As CustomAttributeData _ In CType(attributes, IEnumerable(Of CustomAttributeData)) Console.WriteLine(" {0}", cad) Console.WriteLine(" Constructor: {0}", cad.Constructor) Console.WriteLine(" Constructor arguments:") For Each cata As CustomAttributeTypedArgument _ In CType(cad.ConstructorArguments, IEnumerable(Of CustomAttributeTypedArgument)) Console.WriteLine(" Type: {0} Value: {1}", _ cata.ArgumentType, cata.Value) Next Console.WriteLine(" Named arguments:") For Each cana As CustomAttributeNamedArgument _ In CType(cad.NamedArguments, IEnumerable(Of CustomAttributeNamedArgument)) Dim cata As CustomAttributeTypedArgument = _ cana.TypedValue Console.WriteLine(" MemberInfo: {0}", _ cana.MemberInfo) Console.WriteLine(" Type: {0} Value: {1}", _ cata.ArgumentType, cata.Value) Next Next End Sub End Class ' This code example produces output similar to the following: ' 'Attributes for assembly: source, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null ' [ExampleAttribute((ExampleKind)2, Note = "This is a note on the assembly.")] ' Constructor: Void .ctor(ExampleKind) ' Constructor arguments: ' Type: ExampleKind Value: 2 ' Named arguments: ' MemberInfo: System.String Note ' Type: System.String Value: This is a note on the assembly. ' [System.Runtime.CompilerServices.CompilationRelaxationsAttribute((Int32)8)] ' Constructor: Void .ctor(Int32) ' Constructor arguments: ' Type: System.Int32 Value: 8 ' Named arguments: ' 'Attributes for type: Test ' [ExampleAttribute((ExampleKind)1, Note = "This is a note on the class.")] ' Constructor: Void .ctor(ExampleKind) ' Constructor arguments: ' Type: ExampleKind Value: 1 ' Named arguments: ' MemberInfo: System.String Note ' Type: System.String Value: This is a note on the class. ' 'Attributes for member: Void TestMethod(System.Object) ' [ExampleAttribute(Note = "This is a note on a method.")] ' Constructor: Void .ctor() ' Constructor arguments: ' Named arguments: ' MemberInfo: System.String Note ' Type: System.String Value: This is a note on a method. ' 'Attributes for parameter: System.Object arg ' [ExampleAttribute()] ' Constructor: Void .ctor() ' Constructor arguments: ' Named arguments:
using System; using System.Reflection; using System.Collections.Generic; // The example attribute is applied to the assembly. [assembly:Example(ExampleKind.ThirdKind, Note="This is a note on the assembly.")] // An enumeration used by the ExampleAttribute class. public enum ExampleKind { FirstKind, SecondKind, ThirdKind, FourthKind }; // An example attribute. The attribute can be applied to all // targets, from assemblies to parameters. // [AttributeUsage(AttributeTargets.All)] public class ExampleAttribute : Attribute { // Data for properties. private ExampleKind kindValue; private string noteValue; // Constructors. The parameterless constructor (.ctor) calls // the constructor that specifies ExampleKind, and supplies the // default value. // public ExampleAttribute(ExampleKind initKind) { kindValue = initKind; } public ExampleAttribute() : this(ExampleKind.FirstKind) {} // Properties. The Note property must be read/write, so that it // can be used as a named parameter. // public ExampleKind Kind { get { return kindValue; }} public string Note { get { return noteValue; } set { noteValue = value; } } } // The example attribute is applied to the test class. // [Example(ExampleKind.SecondKind, Note="This is a note on the class.")] public class Test { // The example attribute is applied to a method, using the // parameterless constructor and supplying a named argument. // The attribute is also applied to the method parameter. // [Example(Note="This is a note on a method.")] public void TestMethod([Example] object arg) { } // Main() gets objects representing the assembly, the test // type, the test method, and the method parameter. Custom // attribute data is displayed for each of these. // public static void Main() { Assembly asm = Assembly.ReflectionOnlyLoad("Source"); Type t = asm.GetType("Test"); MethodInfo m = t.GetMethod("TestMethod"); ParameterInfo[] p = m.GetParameters(); Console.WriteLine("\r\nAttributes for assembly: {0}", asm); ShowAttributeData(CustomAttributeData.GetCustomAttributes(asm)); Console.WriteLine("\r\nAttributes for type: {0}", t); ShowAttributeData(CustomAttributeData.GetCustomAttributes(t)); Console.WriteLine("\r\nAttributes for member: {0}", m); ShowAttributeData(CustomAttributeData.GetCustomAttributes(m)); Console.WriteLine("\r\nAttributes for parameter: {0}", p); ShowAttributeData(CustomAttributeData.GetCustomAttributes(p[0])); } private static void ShowAttributeData( IList<CustomAttributeData> attributes) { foreach( CustomAttributeData cad in attributes ) { Console.WriteLine(" {0}", cad); Console.WriteLine(" Constructor: {0}", cad.Constructor); Console.WriteLine(" Constructor arguments:"); foreach( CustomAttributeTypedArgument cata in cad.ConstructorArguments ) { Console.WriteLine(" Type: {0} Value: {1}", cata.ArgumentType, cata.Value); } Console.WriteLine(" Named arguments:"); foreach( CustomAttributeNamedArgument cana in cad.NamedArguments ) { CustomAttributeTypedArgument cata = cana.TypedValue; Console.WriteLine(" MemberInfo: {0}", cana.MemberInfo); Console.WriteLine(" Type: {0} Value: {1}", cata.ArgumentType, cata.Value); } } } } /* This code example produces output similar to the following: Attributes for assembly: source, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null [ExampleAttribute((ExampleKind)2, Note = "This is a note on the assembly.")] Constructor: Void .ctor(ExampleKind) Constructor arguments: Type: ExampleKind Value: 2 Named arguments: MemberInfo: System.String Note Type: System.String Value: This is a note on the assembly. [System.Runtime.CompilerServices.CompilationRelaxationsAttribute((Int32)8)] Constructor: Void .ctor(Int32) Constructor arguments: Type: System.Int32 Value: 8 Named arguments: Attributes for type: Test [ExampleAttribute((ExampleKind)1, Note = "This is a note on the class.")] Constructor: Void .ctor(ExampleKind) Constructor arguments: Type: ExampleKind Value: 1 Named arguments: MemberInfo: System.String Note Type: System.String Value: This is a note on the class. Attributes for member: Void TestMethod(System.Object) [ExampleAttribute(Note = "This is a note on a method.")] Constructor: Void .ctor() Constructor arguments: Named arguments: MemberInfo: System.String Note Type: System.String Value: This is a note on a method. Attributes for parameter: System.Object arg [ExampleAttribute()] Constructor: Void .ctor() Constructor arguments: Named arguments: */
using namespace System; using namespace System::Reflection; using namespace System::Collections::Generic; // An enumeration used by the ExampleAttribute class. public enum class ExampleKind { FirstKind, SecondKind, ThirdKind, FourthKind }; // An example attribute. The attribute can be applied to all // targets, from assemblies to parameters. // [AttributeUsage(AttributeTargets::All)] public ref class ExampleAttribute: public Attribute { private: // Data for properties. ExampleKind kindValue; String^ noteValue; // Constructors. The parameterless constructor (.ctor) calls // the constructor that specifies ExampleKind, and supplies the // default value. // void ExampleAttributeInitialize( ExampleKind initKind ) { kindValue = initKind; } public: ExampleAttribute() { ExampleAttributeInitialize( ExampleKind::FirstKind ); } ExampleAttribute( ExampleKind initKind ) { ExampleAttributeInitialize( initKind ); } // Properties. The Note property must be read/write, so that it // can be used as a named parameter. // property ExampleKind Kind { ExampleKind get() { return kindValue; } } property String^ Note { String^ get() { return noteValue; } void set( String^ value ) { noteValue = value; } } }; // The example attribute is applied to the assembly. [assembly:Example(ExampleKind::ThirdKind,Note="This is a note on the assembly.")]; // The example attribute is applied to the test class. // [Example(ExampleKind::SecondKind,Note="This is a note on the class.")] public ref class Test { public: // The example attribute is applied to a method, using the // parameterless constructor and supplying a named argument. // The attribute is also applied to the method parameter. // [Example(Note="This is a note on a method.")] void TestMethod( [Example] Object^ arg ){} // Main() gets objects representing the assembly, the test // type, the test method, and the method parameter. Custom // attribute data is displayed for each of these. // static void Main() { Assembly^ assembly = Assembly::ReflectionOnlyLoad( "Source" ); Type^ t = assembly->GetType( "Test" ); MethodInfo^ m = t->GetMethod( "TestMethod" ); array<ParameterInfo^>^p = m->GetParameters(); Console::WriteLine( "\r\nAttributes for assembly: {0}", assembly ); ShowAttributeData( CustomAttributeData::GetCustomAttributes( assembly ) ); Console::WriteLine( "\r\nAttributes for type: {0}", t ); ShowAttributeData( CustomAttributeData::GetCustomAttributes( t ) ); Console::WriteLine( "\r\nAttributes for member: {0}", m ); ShowAttributeData( CustomAttributeData::GetCustomAttributes( m ) ); Console::WriteLine( "\r\nAttributes for parameter: {0}", p ); ShowAttributeData( CustomAttributeData::GetCustomAttributes( p[ 0 ] ) ); } private: static void ShowAttributeData( IList< CustomAttributeData^ >^ attributes ) { for each ( CustomAttributeData^ cad in attributes ) { Console::WriteLine( " {0}", cad ); Console::WriteLine( " Constructor: {0}", cad->Constructor ); Console::WriteLine( " Constructor arguments:" ); for each ( CustomAttributeTypedArgument^ cata in cad->ConstructorArguments ) { Console::WriteLine( " Type: {0} Value: {1}", cata->ArgumentType, cata->Value ); } Console::WriteLine( " Named arguments:" ); for each ( CustomAttributeNamedArgument cana in cad->NamedArguments ) { CustomAttributeTypedArgument cata = cana.TypedValue; Console::WriteLine( " MemberInfo: {0}", cana.MemberInfo ); Console::WriteLine( " Type: {0} Value: {1}", cata.ArgumentType, cata.Value ); } } } }; int main() { Test::Main(); } /* This code example produces output similar to the following: Attributes for assembly: source, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null [ExampleAttribute((ExampleKind)2, Note = "This is a note on the assembly.")] Constructor: Void .ctor(ExampleKind) Constructor arguments: Type: ExampleKind Value: 2 Named arguments: MemberInfo: System.String Note Type: System.String Value: This is a note on the assembly. [System.Runtime.CompilerServices.CompilationRelaxationsAttribute((Int32)8)] Constructor: Void .ctor(Int32) Constructor arguments: Type: System.Int32 Value: 8 Named arguments: Attributes for type: Test [ExampleAttribute((ExampleKind)1, Note = "This is a note on the class.")] Constructor: Void .ctor(ExampleKind) Constructor arguments: Type: ExampleKind Value: 1 Named arguments: MemberInfo: System.String Note Type: System.String Value: This is a note on the class. Attributes for member: Void TestMethod(System.Object) [ExampleAttribute(Note = "This is a note on a method.")] Constructor: Void .ctor() Constructor arguments: Named arguments: MemberInfo: System.String Note Type: System.String Value: This is a note on a method. Attributes for parameter: System.Object arg [ExampleAttribute()] Constructor: Void .ctor() Constructor arguments: Named arguments: */


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からCustomAttributeTypedArgumentを検索する場合は、下記のリンクをクリックしてください。

- CustomAttributeTypedArgumentのページへのリンク