英語で読む

次の方法で共有


MethodBase.ContainsGenericParameters プロパティ

定義

ジェネリック メソッドに、割り当てられていないジェネリック型パラメーターが含まれているかどうかを示す値を取得します。

C#
public virtual bool ContainsGenericParameters { get; }

プロパティ値

現在の MethodBase オブジェクトが、割り当てられていないジェネリック型パラメーターを含むジェネリック メソッドを表している場合は true。それ以外の場合は false

注釈

ジェネリック メソッドを呼び出すことができるのは、ジェネリック型定義がない場合、またはメソッド自体の型引数または外側の型で構築された型を開いている場合のみです。 型は任意に複雑になる可能性があるため、この再帰的な決定を行うのは困難です。 便宜上、およびエラーの可能性を減らすために、 プロパティは、 ContainsGenericParameters 呼び出すことができる閉じた構築されたメソッドと、開くことができない構築されたメソッドを区別する標準的な方法を提供します。 プロパティが を ContainsGenericParameters 返す true場合、メソッドを呼び出すことはできません。

プロパティは ContainsGenericParameters 、型パラメーターを再帰的に検索します。 たとえば、メソッド自体がジェネリックではない場合でも、開いている型 A<T> (A(Of T)Visual Basic では ) の任意のメソッドに対して を返trueします。 これは、このようなメソッドに対して IsGenericMethod を返す プロパティの false 動作と対照的です。

同様に、 プロパティ パラメーターは ContainsGenericParameters 、コンストラクターが独自の型パラメーターを持つことはできませんが、開いている型のコンストラクターに対して を返 true します。

ジェネリック メソッドに固有の用語の不変条件の一覧については、 プロパティを 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, 10
.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

こちらもご覧ください