typeof(SomeGenericType<>
具体的なパラメータを指定せずに、C# 言語で ) が必要であることを誰かが説明してくれませんか。
次の例をまとめました。
var t1 = typeof(Nullable<>);
var t2 = typeof(Nullable<int>);
var q = 1 as int?;
var b1 = t1.IsInstanceOfType(q); //false
var b2 = t2.IsInstanceOfType(q); //true
私が最初に考えたのは、ジェネリック パラメータ を指定するtypeof(Nullable<>)
よりも「よりジェネリック」ですが、そうであることが判明した ため、 のインスタンスは のインスタンスではありません。t2
int
b1
false
int?
Nullable<>
では、変数をどのように定義すればb1
よいのtrue
でしょうか? どのような実用的な用途がありますか?