我已經看到了有關如何將字符串轉換爲類類型的示例,但是我無法將相同的邏輯應用於具有構造函數的類,該構造函數本身需要一個字符串作爲參數。這是我在其他職位上看到的。C#將字符串轉換爲具有帶字符串參數構造函數的類
Type type = Type.GetType("classNameAsString");
object instance = Activator.CreateInstance(type);
我想要做的是同樣的適用於這種情況下
public class ExampleClass
{
public ExampleClass(string strParameter)
{
}
}
我通常會實例化ExampleClass中的
var exClassInst = new ExampleClass("stringParam");
我怎樣才能達到同樣的,而是先轉換「ExampleClass」字符串鍵入然後實例化它。感謝您的幫助。
感謝您的快速回復。然而,當我試圖通過instance.DoSomething()訪問類方法時,我用String參數創建一個實例似乎很好。我收到一個錯誤 - 對象不包含DoSomething的定義....當我實例化類定期的方式,我可以看到類的方法。不知道發生了什麼事。 – user2217057
@ user2217057:這是因爲'CreateInstance'將實例作爲'object'返回,所以必須將其轉換爲'ExampleClass'以便能夠使用該類的正確成員。 –
如果類類型是根據給定的字符串類型在循環中動態決定的,您將如何進行類型轉換?我可能會遺漏一些東西,但如果類類型已知,則將對象類型轉換爲特定的類類型將會起作用。 – user2217057