繁体   English   中英

动态类型实例化C#

[英]Dynamic Type instantiation C#

我希望在运行时实例化一个对象,该对象的类型为字符串,但其值也为字符串。 例如:

string myType = "System.Int32";
string myValue = "3";

我正在寻找创建myType的实例并将myValue强制转换/分配给刚创建的实例。

我研究了Activator.CreateInstance:

object objectInstance = Activator.CreateInstance(Type.GetType(myType));

但是我无法将我的值传递给我的实例(可以是任何东西:int16 / 32/64,double,bool,自定义类型...)。

谢谢您的帮助

这仅适用于值类型...

var t = Type.GetType("System.Int32");
object x = Activator.CreateInstance(t);

if (t.IsValueType)
   x = Convert.ChangeType("2", t);

您需要获取类型对象,然后使用Convert类:

string myType = "System.Int32";
Type type=Type.GetType(myType)

string myValue = "3";
object convertedValue = Convert.ChangeType(myValue, type);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM