0

複数の子オブジェクトのデータベースを含める必要があります。キーがどのタイプの子であるかを表すintであり、2番目のフィールドが親オブジェクトである辞書を作成することを考えていました。このように、子オブジェクトのいずれかを辞書に追加できると考えましたが、それを機能させることができないようですか? これを適切に行う方法のアイデアはありますか?

Dictionary<int, Parent> database;

ChildOne newChildOne = new ChildOne();
ChildTwo newChildTwo = new ChildTwo();

database.Add(1, newChildOne); 
database.Add(2, newChildTwo);
4

1 に答える 1

0

親子関係を保持するために辞書は必要ありません。この関係を保持できるクラスを作成するだけです。

public class MyEntity
{
    public MyEntity(int entityId, MyEntity parent)
    {
        this.Children = new List<MyEntity>();
        this.EntityId = entityId;
        this.Parent = parent;
        this.Parent.Children.Add(this);
    }

    public int EntityId { get; set; }

    public MyEntity Parent { get; set; }

    public List<MyEntity> Children { get; set; }
}

次に、この関係を作成します。

        MyEntity topParent = new MyEntity(1,null);
        MyEntity childOnLevel1 = new MyEntity(7,topParent);
        MyEntity childOnLevel2 = new MyEntity(4, childOnLevel1);
于 2012-09-15T16:29:17.477 に答える