PropertyInfo SetValue и NULL
Если у меня есть что-то вроде:
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<>
или ссылка). Я использую Reflection, поэтому я не знаю тип заранее. Как бы я поступил так?