我正在使用反射通过这样的字符串来查找类型。。。
Type currentType = Type.GetType(typeName);
然后我就可以得到这样一个类型的属性列表。。。
var props = currentType.GetProperties();
如何实例化这种类型的新对象,然后根据道具列表中的属性列表开始为该对象的属性赋值?
使用您已经拥有的值。。。
var created = Activator.CreateInstance(currentType);
foreach(var prop in props)
{
prop.SetValue(created, YOUR_PROPERTY_VALUE, null);
}
用实例化currentType
var newInst = Activator.CreateInstance(currentType);
并使用分配属性值
propInfo.SetValue(newInst, propValue, BindingFlags.SetProperty, null, null, null);
其中,propInfo
是props
中的PropertyInfo
实例,propValue
是要分配给特性的对象。
编辑:
我总是倾向于使用更详细的SetValue
重载,因为我过去曾遇到过短重载的问题,但propInfo.SetValue(newInst, propValue, null);
可能也能工作。