英語で読む

次の方法で共有


MethodBase.GetGenericArguments メソッド

定義

ジェネリック メソッドの型引数、またはジェネリック メソッドの定義の型パラメーターを表す Type オブジェクトの配列を返します。

C#
public virtual Type[] GetGenericArguments ();
C#
[System.Runtime.InteropServices.ComVisible(true)]
public virtual Type[] GetGenericArguments ();

戻り値

Type[]

ジェネリック メソッドの型引数またはジェネリック メソッド定義の型パラメーターを表す Type オブジェクトの配列。 現在のメソッドがジェネリック メソッドではない場合は、空の配列を返します。

属性

例外

現在のオブジェクトは ConstructorInfo です。 .NET Framework Version 2.0 では、ジェネリック コンストラクターはサポートされていません。 このメソッドが派生クラスでオーバーライドされない場合、この例外は既定の動作です。

注釈

返される配列の要素は、ジェネリック メソッドの型パラメーターの一覧に表示される順序になります。

  • 現在のメソッドが閉じた構築メソッドである場合 (つまり、プロパティがを返しますfalse)、メソッドによってGetGenericArguments返される配列には、ContainsGenericParametersジェネリック メソッド定義のジェネリック型パラメーターに割り当てられている型が含まれます。

  • 現在のメソッドがジェネリック メソッド定義の場合、配列には型パラメーターが含まれます。

  • 現在のメソッドが、一部の型パラメーターに特定の型が割り当てられ、 ContainsGenericParameters それを囲むジェネリック型の型パラメーターが他の型パラメーターに割り当てられているオープン構築メソッド (つまり、 プロパティは を返します true) である場合、配列には型パラメーターと型パラメーターの両方が含まれます。 プロパティを IsGenericParameter 使用して区別します。 このシナリオのデモについては、 プロパティに提供されているコード例を ContainsGenericParameters 参照してください。

.NET Framework Version 2.0 では、ジェネリック コンストラクターはサポートされていません。 このプロパティは、派生クラスでオーバーライドされていない場合は をスロー NotSupportedException するため、現在のインスタンスが 型 ConstructorInfoの場合は例外がスローされます。

ジェネリック メソッドに固有の用語の不変条件の一覧については、 プロパティを IsGenericMethod 参照してください。 ジェネリック リフレクションで使用される他の用語の不変条件の一覧については、 プロパティを Type.IsGenericType 参照してください。

適用対象

製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

こちらもご覧ください