次の定義があります。
public class BaseEntity
{
...
public BaseEntity()
{
}
}
public class KeyValuePair
{
public string key;
public string value;
public string meta;
}
public class KeyValuePairList : BaseEntity
{
public List<KeyValuePair> List {set; get;}
public KeyValuePairList(IEnumerable<KeyValuePair> list)
{
this.List = new List<KeyValuePair>();
foreach (KeyValuePair k in list) {
this.List.Add(k);
}
}
}
私はさらに10個の異なるクラスを持っておりKeyValuePair
、KeyValuePairList
すべて同じ目的を達成しています.前者はオブジェクトを定義し、後者はこれらのオブジェクトを配置するリストを定義しています. BaseEntity
個々のクラスでリストのインスタンス化ロジックを再定義する必要がないように、この機能を基本クラスに組み込むにはどうすればよいですか。つまり、コンストラクターに渡されるオブジェクトの種類に基づいてリストをインスタンス化できるようにしたいですか? 助言がありますか?