我想将字符串转换为泛型类型
我有这个:
string inputValue = myTxtBox.Text;
PropertyInfo propInfo = typeof(MyClass).GetProperty(myPropertyName);
Type propType = propInfo.PropertyType;
object propValue = ?????
我想将 'inputString' 转换为该属性的类型,以检查它是否兼容 我该怎么做?
谢谢
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));
干杯。
string inputValue = myTxtBox.Text;
PropertyInfo propInfo = typeof(MyClass).GetProperty(myPropertyName);
Type propType = propInfo.PropertyType;
propInfo.SetValue(myObject, Convert.ChangeType(inputValue, propType));
这里“myObject”是“MyClass”类的一个实例,您要为其设置通用属性值。