【发布时间】:2012-11-02 01:53:42
【问题描述】:
谁能解释我在 C# 语言中对typeof(SomeGenericType<>) 的需求,没有指定具体参数。
我整理了下面的例子:
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? 的实例不是@ 的实例987654329@.
那么应该如何将b1 的变量定义为true?它有什么实际用途?
【问题讨论】:
-
“X 比 Y 更通用”不是“Y 是 X 的实例”的同义词。
标签: c# generics reflection