请看下面的示例代码。
var genericNullableType = typeof(Nullable<>);
var nullableType = genericNullableType.MakeGenericType(typeof(bool));
var returnValue = Activator.CreateInstance(nullableType, (object)false);
由于某种原因,returnValue
变量的类型将是bool
而不是bool?
。为什么会这样,如何避免?
更新:这是我在VS中的屏幕截图
Activator
。Console.WriteLine((new Nullable<bool>(false).GetType().FullName));
也只是输出普通的布尔值。 - vcsjonesbool?
,所以我不确定您正在寻找什么。 - Mike ZborayNullable<T>
]。 - Habib