我有一個靜態方法,其內部代碼能夠處理多個不同的類。不過,我不確定如何在運行時將類放入方法中。C# - 一個方法參數可以是一類變量類型嗎?
例如可以說我有ClassA和ClassB的
我的方法可與這些類的工作,所以我想的參數看起來像。
public static void MyMethod(Object obj)
{
//...obj is either ClassA or ClassB
//...do work on variable class
}
但我不斷收到無效的參數消息時,我嘗試要麼
ClassA a = new ClassA();
MyMethod(a);
ClassB b = new ClassB();
MyMethod(b)
它甚至有可能有一個參數誰的類型是未知的,直到運行?
如果是這樣,我該怎麼做?
如果不是,如何通過以這種方式利用,而不在每一個類重複該方法的代碼,其對許多類的一些功能的方法?
編輯 - 我已經編輯了以上我的代碼做一個類的實例確實通了,不只是類名。但是我仍然得到了無效的參數消息。
你說的'的ClassA實例'或'Type'實例?你不能像這個'MyMethod(ClassA)' –
那樣傳遞類名,你可能想要考慮讓這兩種類型實現一個通用接口,並使其成爲'MyMethod(ISomeInterface obj)' –