我想爲我的自定義類使用GetType方法。我有類的名稱作爲字符串,我想動態獲取它的類型。對於位於不同目錄中的兩個不同類,我有相同的名稱。如何從字符串c獲得自定義類的類型#
例如:
MyClass.cs在Folder1中:
namespace ConsoleApplication1.Folder1
{
public class MyClass : IClass
{
public void PrintMe()
{
System.Console.WriteLine("I am Folder 1 Class");
}
}
}
MyClass.cs在FOLDER2:
namespace ConsoleApplication1.Folder2
{
public class MyClass : IClass
{
public void PrintMe()
{
System.Console.WriteLine("I am Folder 2 Class");
}
}
}
命名空間是ConsoleApplication1
具有相同名稱不同的類位於Folder1和Folder2中。
我想這是從這樣一個字符串類型:
var runtimeString = "Folder1.MyClass"
有一個在MSDN命名的GetType(字符串文件名)
提到的方法我怎樣才能得到文件的類型,然後從解決問題在運行時就像型服務定位:
var typeOfMyClass = GetType(runtimeString);
var instanceOfMyClass = ServiceLocator.Resolve<TypeOfMyClass>();
真的很難理解你爲什麼需要這麼做。 – Filburt
示例中兩個「MyClass」類的名稱空間是「ConsoleApplication1.Folder1」和「ConsoleApplication1.Folder2」。您似乎想要基於不包含「ConsoleApplication1」部分的字符串,即「Folder1.MyClass」或「Folder2.MyClass」創建其中一個「MyClass」類的實例。那是對的嗎? –
我有不同的類在不同的位置具有相同的名稱,我想用它們尊重運行時響應。我也想在同一個變量中使用它們。他們也繼承了相同的接口 –