使用字符串值通过反射设置属性我希望通过反射设置对象的属性,其值为string..例如,假设我有一个Ship类的属性为Latitude,这是double.我想做的是:Ship ship = new Ship();string value = "5.5";PropertyInfo propertyInfo = ship.GetType().GetProperty("Latitude");
propertyInfo.SetValue(ship, value, null);实际上,这会抛出一个ArgumentException:不能将类型为“System.String”的对象转换为“System.Double”类型。如何将值转换为正确的类型(基于propertyInfo?
3 回答
芜湖不芜
TA贡献1796条经验 获得超7个赞
Convert.ChangeType
:
propertyInfo.SetValue(ship, Convert.ChangeType(value, propertyInfo.PropertyType), null);
Convert
System
添加回答
举报
0/150
提交
取消