Definindo uma propriedade por reflexão com um valor de string
Gostaria de definir uma propriedade de um objeto por meio do Reflection, com um valor do tipostring
. Então, por exemplo, suponha que eu tenha umShip
classe, com uma propriedade deLatitude
, que é umdouble
.
Aqui está o que eu gostaria de fazer:
Ship ship = new Ship();
string value = "5.5";
PropertyInfo propertyInfo = ship.GetType().GetProperty("Latitude");
propertyInfo.SetValue(ship, value, null);
Assim, isso lança umArgumentException
:
Objeto do tipo 'System.String' não pode ser convertido para o tipo 'System.Double'.
Como posso converter o valor para o tipo adequado, com base empropertyInfo
?