我想定義一組收集和保存數據的類。我想打電話給他們要麼按需提供,要麼按照責任鏈的方式打電話,因爲來電者喜歡。我可以傳遞一個非泛型類型,其中泛型類型是預期的嗎?
爲了支持鏈接,我宣佈我的接口,像這樣:
interface IDataManager<T, K>
{
T GetData(K args);
void WriteData(Stream stream);
void WriteData(T data, Stream stream);
IDataCollectionPolicy Policy;
IDataManager<T, K> NextDataManager;
}
但T公司和K的每一個具體的類型會有所不同。如果我這樣給它:
IDataManager<T, K> NextDataManager;
我假設調用代碼將只能鏈接具有相同T和K的類型。有沒有辦法讓它鏈接任何類型的IDataManager?這發生在我
一兩件事是有IDataManager從非通用IDataManager繼承像這樣:
interface IDataManager { }
interface IDataManager<T, K>: IDataManager
{
T GetData(K args);
void WriteData(Stream stream);
void WriteData(T data, Stream stream);
IDataCollectionPolicy Policy;
IDataManager NextDataManager;
}
難道這是否可行呢?
謝謝,亞當。 – 2010-03-28 19:55:12