Hi,
I need to invoke .getvalue and .setvalue on fieldinfo and propetyinfo
objects. Even though they're both derived from MemberInfo, they don't
share those two methods. I've finding myself writing the following
types of structure over and over. Is there something I'm missing? Or
some 'funky' 3.5 delegate/lambda expression way of doing this?
Thanks very much in advance,
Damien
MemberInfo MI = this.GetType().GetMember(MemberName)
[0];
object ValueToSet = oDT.Rows[0][col.ColumnName] ??
"";
try
{
//It doesn't seem that Fieldinfo and Propertyinfo
// have a common ancestry, therefore no common map
to .SetValue.
switch (MI.MemberType)
{
case MemberTypes.Field:
((FieldInfo)MI).SetValue(this,
ValueToSet);
break;
case MemberTypes.Property:
((PropertyInfo)MI).SetValue(this,
ValueToSet, null);
break;
default:
break;
}
}