將字符串轉(zhuǎn)換為C#中的類型如果我收到一個包含類名稱的字符串,并且我想將此字符串轉(zhuǎn)換為實(shí)際類型(字符串中的那個),我該怎么做?我試過了Type.GetType("System.Int32")例如,它似乎工作。但是當(dāng)我嘗試使用自己的對象時,它總是返回null ...我不知道提前在字符串中會有什么,所以它是我將其轉(zhuǎn)換為真實(shí)類型的唯一來源。Type.GetType("NameSpace.MyClasse");任何的想法?
3 回答

慕碼人8056858
TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超6個贊
嘗試:
Type type = Type.GetType(inputString); //target typeobject o = Activator.CreateInstance(type); // an instance of target typeYourType your = (YourType)o;
Jon Skeet通常是正確的:)
更新:您可以以各種方式指定包含目標(biāo)類型的程序集,如Jon所述,或:
YourType your = (YourType)Activator.CreateInstance("AssemblyName", "NameSpace.MyClass");

慕婉清6462132
TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個贊
如果您確實(shí)想要按名稱獲取類型,可以使用以下內(nèi)容:
System.AppDomain.CurrentDomain.GetAssemblies().SelectMany(x => x.GetTypes()).First(x => x.Name == "theassembly");
請注意,您可以提供有關(guān)您嘗試加載的類型的更多信息,從而大大提高性能。
- 3 回答
- 0 關(guān)注
- 1704 瀏覽
添加回答
舉報(bào)
0/150
提交
取消