使用字符串值通過反射設置屬性我希望通過反射設置對象的屬性,其值為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
提交
取消