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?

questionAnswers(11)

yourAnswerToTheQuestion