カスタムオブジェクトコレクションを開発する必要があります。その理由は2倍であり、私はコレクションに内部名を割り当てることができなければなりません。またコレクションは、私が持っている他のエンティティと同様に扱うための抽象メソッドを実装する必要があります。カスタムコレクションを作成するときのコレクションメソッドの公開
私はEntityListクラスを作成しました。以下はクラスのスニペットです。これは、IDとエンティティのリスト、さらには一連のメソッドを含んでいます。私の質問はこれまでのところ、追加、挿入、削除、クリアなど、私が必要とするリスト管理メソッドを入れました。 myEntityListというEntityListリファレンスがある場合、myEntityList.Add(newEntity)のようなものを実行できます。私はこのアプローチが好きですが、実際にはこれらのメソッドはリストに作業を渡しています。これらのメソッドを実装することもできませんし、myEntityList.Items.Add(newEntity)を使用して上記と同じアクションを実行できます。ただし、ここではオブジェクトのプロパティのメソッドに直接アクセスしています。 Itemsプロパティを完全に削除したいのですが、foreachを使用してリストを繰り返し処理する必要があり、実際のリストにアクセスする必要があることがよくあります。
私のクラス定義ですが、含まれているabstactメソッドの上書きはありません。
class EntityList
{
String entityId;
List<EntityBase> _entities;
public EntityList()
{
_entities = new List<EntityBase>();
}
public List<EntityBase> Items
{
get { return _entities; }
//set { _entities = value; }
}
public void Add(EntityBase entity)
{
_entities.Add(entity);
}
public void Insert(int index, EntityBase entity)
{
_entities.Insert(index, entity);
}
public void Remove(EntityBase entity)
{
_entities.Remove(entity);
}
public void Clear()
{
_entities.Clear();
}
}
ここではいくつかの基本規則に違反していますか?リストが別のクラスのメンバーである場合、そのリストをどのように管理すればよいですか?
より理にかなっているおかげで、。リストに項目を追加するために何らかのバリデーションを実行するなど、別の実装を使用する場合は、Listメソッドをオーバーライドすることもできます。 – WPFNewbie