PropertyInfo SetValue and nulls
- by Nelson
If I have something like:
object value = null;
Foo foo = new Foo();
PropertyInfo property = Foo.GetProperties().Single(p => p.Name == "IntProperty");
property.SetValue(foo, value, null);
Then foo.IntProperty gets set to 0, even though value = null. It appears it's doing somemething like IntProperty = default(typeof(int)). I would like to throw an InvalidCastException if IntProperty is not a "nullable" type (Nullable< or reference). I'm using Reflection, so I don't know the type ahead of time. How would I go about doing this?