Как преобразовать строку в любой тип


Я хочу преобразовать строку в универсальный тип

У меня есть это:

string inputValue = myTxtBox.Text;    

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

object propValue = ?????

Я хочу преобразовать 'inputString' в тип этого свойства, чтобы проверить его совместимость как я могу это сделать?

tks

3 53

3 ответа:

using System.ComponentModel;

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

попробовать преобразовать.Тип изменения

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

Я действительно не думаю, что понимаю, что вы пытаетесь архивировать, но.. вы имеете в виду динамический кастинг? Что-то вроде этого:

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

Ура.