这是我最近试图解决的问题的简化版本。我有以下两个课程:
class Container { }
class Container<T> : Container
{
T Value
{
get;
private set;
}
public Container(T value)
{
Value = value;
}
public T GetValue()
{
return Value;
}
}
现在我想做:
Container<int> c1 = new Container<int>(10);
Container<double> c2 = new Container<double>(5.5);
List<Container> list = new List<Container>();
list.Add(c1);
list.Add(c2);
foreach (Container item in list)
{
Console.WriteLine(item.Value);
Console.WriteLine(item.GetValue());
}
实现此功能的最佳方法是什么?有可能吗?我想我可能已经解决了这个问题,但我认为这是一种解决方法,我正在寻找一些设计模式。
提前感谢您的回复,米哈尔。
附言
我尝试了接口、虚函数、抽象类、抽象函数;甚至在超类中创建函数,通过名称调用真实类型的属性(使用反射)......我仍然无法实现我想要的......