c# 反射获得属性类型,动态设置对象
作者:互联网
property.SetValue(item, Convert.ChangeType(valueToConvert, property.PropertyType));
可以使用下面的封装
TConverter.ChangeType<T>(StringValue);
public static class TConverter
{
public static T ChangeType<T>(object value)
{
return (T)ChangeType(typeof(T), value);
}
public static object ChangeType(Type t, object value)
{
TypeConverter tc = TypeDescriptor.GetConverter(t);
return tc.ConvertFrom(value);
}
public static void RegisterTypeConverter<T, TC>() where TC : TypeConverter
{
TypeDescriptor.AddAttributes(typeof(T), new TypeConverterAttribute(typeof(TC)));
}
}
标签:反射,c#,ChangeType,object,value,static,typeof,public,属性 来源: https://www.cnblogs.com/xlxr45/p/16401863.html