簡體   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