[英]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.