英語で読む

次の方法で共有


Type.IsGenericParameter プロパティ

定義

現在の Type がジェネリック型またはジェネリック メソッドの定義の型パラメーターを表しているかどうかを示す値を取得します。

C#
public abstract bool IsGenericParameter { get; }
C#
public virtual bool IsGenericParameter { get; }

プロパティ値

Boolean

true オブジェクトがジェネリック型定義またはジェネリック メソッド定義の型パラメーターを表している場合は Type。それ以外の場合は false

次の例では、 IsGenericParameter プロパティを使用して、ジェネリック型のジェネリック型パラメーターをテストします。

C#
if (t.IsGenericType)
{
    // If this is a generic type, display the type arguments.
    //
    Type[] typeArguments = t.GetGenericArguments();

    Console.WriteLine("\tList type arguments ({0}):", 
        typeArguments.Length);

    foreach (Type tParam in typeArguments)
    {
        // If this is a type parameter, display its
        // position.
        //
        if (tParam.IsGenericParameter)
        {
            Console.WriteLine("\t\t{0}\t(unassigned - parameter position {1})",
                tParam,
                tParam.GenericParameterPosition);
        }
        else
        {
            Console.WriteLine("\t\t{0}", tParam);
        }
    }
}

注釈

Type ジェネリック型パラメーターを表す オブジェクトは、ジェネリック型定義を表す オブジェクトの メソッド、またはジェネリック メソッド定義を表す オブジェクトの メソッドを呼び出すことによって GetGenericArguments Type GetGenericArguments MethodInfo 取得できます。

  • ジェネリック型またはメソッド定義の場合、 プロパティは、 IsGenericParameter 結果の配列のすべての true 要素に対して を返します。

  • 閉じた構築型またはメソッドの場合、 プロパティは、 メソッドによって返される配列のすべての要素 IsGenericParameter false に対して を返 GetGenericArguments します。

  • オープンに構築された型またはメソッドの場合、配列の一部の要素は特定の型である可能性があります。他の要素は型パラメーターである可能性があります。 IsGenericParameter は、 false 型パラメーターの と true 型パラメーターに対して を返します。 プロパティのコード例 ContainsGenericParameters は、型と型パラメーターが混合されたジェネリック クラスを示しています。

ジェネリック リフレクションで使用する用語に関する一定の条件の一覧については、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
.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
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

こちらもご覧ください