これは、私が最近解決しようとしていた問題の単純化されたバージョンです。次の2つのクラスがあります。
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());
}
この機能を実装する最良の方法は何ですか? それはまったく可能ですか?この問題の解決策があると思いますが、回避策と考えており、設計パターンを探しています。
Michal さん、ご回答ありがとうございます。
PS
インターフェイス、仮想関数、抽象クラス、抽象関数を試しました。名前で実際の型のプロパティを呼び出すスーパークラスで関数を作成しても(リフレクションを使用)...私はまだ私が望むものを達成することができません...