如果我有這樣的:的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