具有下列泛型類要包含下面string, int, float, long
作爲類型:C#:聲明和使用不同類型的泛型類的列表,如何?
public class MyData<T>
{
private T _data;
public MyData (T value)
{
_data = value;
}
public T Data { get { return _data; } }
}
我試圖得到MyData<T>
一個列表,其中每個項目將是不同T
。
我希望能夠從列表中訪問某個項目,並得到其數值如下面的代碼:
MyData<> myData = _myList[0]; // Could be <string>, <int>, ...
SomeMethod (myData.Data);
其中SomeMethod()
聲明如下:
public void SomeMethod (string value);
public void SomeMethod (int value);
public void SomeMethod (float value);
更新:
SomeMethod()
是來自另一層級我沒有控制和SomeMethod(object)
不存在。
但是,我似乎無法找到一種方法讓編譯器感到高興。
有什麼建議嗎?
謝謝。
你能對你的someMethod做什麼詳細點嗎?我們可能會更好地幫助你。 – 2009-02-26 13:55:32
SomeMethod所做的與此無關。我只是補充說SomeMethod(object)沒有定義。 – 2009-02-26 14:11:47
您的基本設計有缺陷。我建議問一個問題,詳細說明需求和解決方案並徵求建議。 – Will 2009-02-26 14:13:38