Chciałbym ustawić właściwość obiektu poprzez odbicie, z wartością typu string
. Załóżmy na przykład, że mam Ship
klasę, której właściwość Latitude
to double
.
Oto, co chciałbym zrobić:
Ship ship = new Ship();
string value = "5.5";
PropertyInfo propertyInfo = ship.GetType().GetProperty("Latitude");
propertyInfo.SetValue(ship, value, null);
Jak to powoduje ArgumentException
:
Obiekt typu „System.String” nie może zostać przekonwertowany na typ „System.Double”.
Jak przekonwertować wartość na odpowiedni typ, na podstawie propertyInfo
?