web-dev-qa-db-fra.com

Comment convertir une chaîne en n'importe quel type

Je veux convertir une chaîne en un type générique

J'ai ceci:

string inputValue = myTxtBox.Text;    

PropertyInfo propInfo = typeof(MyClass).GetProperty(myPropertyName);
Type propType = propInfo.PropertyType;

object propValue = ?????

Je veux convertir 'inputString' en type de cette propriété, pour vérifier si elle est compatible, comment puis-je faire cela?

tks

56
DJPB
using System.ComponentModel;

TypeConverter typeConverter = TypeDescriptor.GetConverter(propType);
object propValue = typeConverter.ConvertFromString(inputValue);
95
Lee

Essayez Convert.ChangeType

object propvalue = Convert.ChangeType(inputValue, propType);
14
SWeko

Je ne pense pas vraiment comprendre ce que vous essayez de réaliser, mais ... vous voulez dire un casting dynamique? Quelque chose comme ça:

 TypeDescriptor.GetConverter(typeof(String)).ConvertTo(myObject, typeof(Program));

À votre santé.

3
vtortola