Establecer una propiedad por reflexión con un valor de cadena
Me gustaría establecer una propiedad de un objeto a través de Reflexión, con un valor de tipostring
. Entonces, por ejemplo, supongamos que tengo unShip
clase, con una propiedad deLatitude
, el cual es undouble
.
Esto es lo que me gustaría hacer:
Ship ship = new Ship();
string value = "5.5";
PropertyInfo propertyInfo = ship.GetType().GetProperty("Latitude");
propertyInfo.SetValue(ship, value, null);
Como está, esto arroja unaArgumentException
:
El objeto de tipo 'System.String' no se puede convertir al tipo 'System.Double'.
¿Cómo puedo convertir valor al tipo adecuado, basado enpropertyInfo
?