[英]Setting Object by type C#
我需要做的是这样的事情,但真的不明白如何做。
Object value = new typeof(i.FieldType.GetType());
值的类型可以是任何值,它只能是类的继承(例如,BaseClass)。 该类型将从(.Net)System.Reflections中读取。 但是我不知道该如何创建一个新对象。
如何创建存储为Object的对象的new()对象(构造函数),如果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
会做到这一点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.