我需要做的就是这样,但实际上无法理解。
Object value = new typeof(i.FieldType.GetType());
值的类型可以是任何类型,它只是必须继承一个类(例如,BaseClass)。该类型将从(.Net)System.Reflections中读取。但我不知道如何创建一个新的对象。
如何创建一个存储为Object的对象的new()对象(构造函数),其类型如果已知为System.Reflections?
答案 0 :(得分:1)
您可以使用ConstructorInfo类
var constructorInfo = typeof(myclasstype).GetConstructor();
if (constructorInfo != null)
{
var myclass = constructorInfo.Invoke();
}
答案 1 :(得分:1)
你真的需要构建类型吗?如果你想动态地将一个字符串转换为一个类型(根据你的一个评论),那么你需要的只是System.Convert.ChangeType
方法。
object convertedValue = Convert.ChangeType(stringValue, i.FieldType.GetType());
ChangeType
的第二个参数是System.Type
。
如果要动态创建新(空)对象,则实际上只需要Activator
。如果您要讨论的字段类型是标准类型,例如string
,int
或bool
,则Convert.ChangeType
会执行此操作。
答案 2 :(得分:0)