有以下通用类,它可以包含string、int、float、long
中的任何一种类型:
public class MyData<T>
{
private T _data;
public MyData (T value)
{
_data = value;
}
public T Data { get { return _data; } }
}
我正在尝试获取一个列表,其中每个项目都是不同的T类型的MyData。我想要能够访问列表中的项并像以下代码一样获取其值:
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)
不存在。
然而,我似乎找不到让编译器满意的方法。
有什么建议吗?
谢谢。