2013-11-02 55 views
0

我對C#很新,所以這可能是一個愚蠢的問題。在父類方法中定義一個具有通用值類型的字典

我有一個父類返回一個字典的方法。問題是我需要兩種不同的返回類型。

這裏是第一個:

Dictionary<string, string> 

這裏是第二:

Dictionary<string, double> 

這裏是在父類中的方法:

public Dictionary<string, string> Read(string directoryWithFilesToRead, ref Dictionary<string, string> returnDict) 
{ 
     return read(directoryWithFilesToRead, ref returnDict); 
} 

是否有可能創建value參數的泛型類型,並在實現該方法的類中覆蓋它?

我認爲我可以使用object但我試圖避免鑄造(如果我必須我會,但我想知道是否有更好的方法)。

+2

似乎有一個通用的字典值應該工作。附註:你是否將返回值賦給'ref returnDict'?如果是這樣,你可以使'Read'爲'void'。 –

+0

好的電話,謝謝musical_coder。在我開始重構之前,我沒有通過returnDict作爲參考,但我想我現在可以改變它。 Thx – UberNubIsTrue

回答

3
public Dictionary<string, T> Read<T>(string directoryWithFilesToRead, ref Dictionary<string, T> returnDict) { 
     return read(directoryWithFilesToRead, ref returnDict); 
} 

Read<SomeObject>("dir", new Dictionary<string, SomeObject>();

MSDN上通用的方法調用它。

+0

謝謝Jeroen。這正是我所期待的!該鏈接也非常有幫助。 – UberNubIsTrue

相關問題