有谁知道如何使用Convert.ChangeType从XML转换为特定的类?
例如:
我的财产
public Point Loc
{
get { return GetValue<Point2D>("Loc"); }
set { SetValue<Point2D>("Loc", value); }
}
我的XML:
<Loc>
<X>1.0</X>
<Y>1.0</Y>
</Loc>
致电转换:
prop.SetValue(targetObj,
Convert.ChangeType(xmlProperty.Value, prop.PropertyType));
我已经看过使用IConvertible但没有调用任何方法。
我能找到的所有示例都使用简单类型。无显示转换为类的实例。
谢谢,
瑞克
答案 0 :(得分:0)
为什么您认为自己需要Convert.ChangeType()
?
当然,您可以使用以下重载的SetValue()
方法在PropertyInfo
对象上调用SetValue
。:
prop.SetValue(targetObj,xmlProperty.Value,null);
但是,您首先需要使用Activator.CreateInstance()
之类的内容创建特定类型的实例,并为Point设置各个属性。然后,您可以将该点对象/结构分配为SetValue
的输入。