按c#类型设置对象
本文关键字:对象 设置 类型 | 更新日期: 2023-09-27 18:02:22
我需要做的是这样的事情,但我真的不明白怎么做。
Object value = new typeof(i.FieldType.GetType());
值的类型可以是任意的,它必须继承一个类(例如,BaseClass)。该类型将从(. net) System.Reflections读取。但是我不知道如何创建一个这样的新对象。
我如何创建一个新的()对象(构造函数),存储为object的对象,其类型如果已知的System.Reflections?
可以使用ConstructorInfo类
var constructorInfo = typeof(myclasstype).GetConstructor();
if (constructorInfo != null)
{
var myclass = constructorInfo.Invoke();
}
你真的需要构造这个类型吗?如果你想动态地将字符串转换为类型(根据你的注释之一),那么你所需要的就是System.Convert.ChangeType
方法。
object convertedValue = Convert.ChangeType(stringValue, i.FieldType.GetType());
其中ChangeType
的第二个参数是一个System.Type
。
Activator
实际上只需要,如果你想动态地创建新的(空的)对象。如果您谈论的字段类型是标准类型,如string
, int
或bool
,那么Convert.ChangeType
就可以了。
您正在搜索Activator.CreateInstance(Type type)