我有100個類都具有相似的簽名方法,只是它們的內部定義不同。我將傳遞一個類名作爲字符串,我需要創建該類型的對象並調用方法。我知道我可以使用「Activator.CreateInstance」,但不確定在這種情況下究竟如何。例如,讓我說我有Calculator1到Calculator100的類我不知道如何根據類名稱字符串在第二行投射它。從字符串類名創建對象
ObjectHandle handle = Activator.CreateInstance("NameSpaceCalculator", "Calculator1");
var Calculator = (Calculator1)handle.Unwrap();
使用一個通用接口。 – SLaks
你*不會*施放它。除非這些類都共享一個接口,否則投射甚至沒有意義。你究竟想要做什麼? – aquinas
你不能這樣做,除非觸摸某種'動態'。但是,仍然可以使用「反射」來訪問創建的對象的成員,而不必將其轉換爲所需的類型。 –