public abstract Column<T>
{
private T Value {get;set;}
public abstract string Format();
}
public class DateColumn : Column<DateTime>
{
public override string Format()
{
return Value.ToString("dd-MMM-yyyy");
}
}
public class NumberColumn : Column<decimal>
{
public override string Format()
{
return Value.ToString();
}
}
問題は、これらをジェネリックコレクションに追加することです。私は本当にこの目標を達成するために何かアドバイスをいただければ幸い収集などに同じコレクション内の異なるGenerics T
IList<Column<?>> columns = new List<Column<?>()
を、私はその可能性を知っているが、どのように私は複数のタイプを格納することができます。目標は、同じリストに異なる列タイプを格納することです。私はHibernateとdiscriminatorを使って適切なオブジェクトをロードしています。値はクラスの型を持つ必要があります。
ご協力いただきありがとうございます。
にそれを格納することです。ジェネリックスは型の安全に役立ちます。関係なく、あなたが本当にこれをやりたければ、列
いいえ、私は列を使用しようとしました
この質問の[いくつか](http://stackoverflow.com/q/3215402/590790)[duplicates](http://stackoverflow.com/q/3777057/590790)が既にあります。 [JaredParの投稿](http://stackoverflow.com/a/10606974/590790)の「ベースタイプ」ソリューションに加えて、[非標準ラッパーを作成するためのアダプターパターンに従うことを提案したいと思いますLiskov Substitution Principleが壊れていないように、この目的(http://stackoverflow.com/a/34417767/590790)を参照してください。 –