I'm trying to dynamically convert a double? to the property type of a PropertyInfo, which may be int? or decimal?, and maybe other types down the road. An explicit cast works, but then I'd need something like:
if(prop.PropertyType == typeof(int?))
{
prop.SetValue(obj, (int?)value);
}
else if(prop.PropertyType == typeof(decimal?))
{
prop.SetValue(obj, (decimal?)value);
}
// etc...
I considered using a Dictionary<Type, Action<...>> containing actions to perform the casts, but I'm looking for something even more elegant. Is there a single line of code I can write to dynamically convert to the property type? Something like this, which throws an InvalidCastException:
prop.SetValue(obj, Convert.ChangeType(value, prop.PropertyType));
Aucun commentaire:
Enregistrer un commentaire