如果我有这样的:的PropertyInfo的SetValue和空
object value = null;
Foo foo = new Foo();
PropertyInfo property = Foo.GetProperties().Single(p => p.Name == "IntProperty");
property.SetValue(foo, value, null);
然后foo.IntProperty
被设置为0
,即使value = null
。它似乎正在做类似IntProperty = default(typeof(int))
。我想抛出InvalidCastException
如果IntProperty
不是“可为空的”类型(Nullable<>
或参考)。我正在使用反射,所以我不知道类型提前。我会如何去做这件事?
就是这样。我正在搞.PropertyType.IsClass,但没有太多。 – 2010-06-15 22:42:02