0

私は次のようなクラスを持っています

public class Person
{
    public string Name{ get; set; }
    public string Address{ get; set; }
    public List<Person> Children{ get; set; }
}

ここに、プロパティの子リストがあります。

そして今、私は次のような型初期化子を使用してこのクラスインスタンスの配列を作成しています

var persons = new []{
    new Person{ Name="Some Name", Address = "Some Address" },
    new Person{ Name="Some Name 2", Address = "Some Address 2", Children = new List<Person>{
          new Person { Name = "Some Name 3",
                ** Address = <here I want its parent Address>  "Some Address 2" **}
       }
    }
};

したがって、私の問題は、Addressプロパティを割り当てるPersonのオブジェクトを作成していて、このプロパティ値に子を割り当てたいということですが、このキーワードで行うように、その親を取得する方法が見つかりません。その定義にクラスメンバーを取得します。

4

1 に答える 1

1

これを行うための C# で提供される簡単な方法はありません。Person上記のオブジェクトとその子の間の親子関係は、言語によって強制または提供されません。上記の問題を解決する最も簡単な方法は、アドレスを変数に格納して参照することです。

string address = "Some Address 2";
var persons = new []{
    new Person{ Name="Some Name", Address = "Some Address" },
    new Person{ Name="Some Name 2", Address = address, 
        Children = new List<Person>{
              new Person { Name = "Some Name 3", address }
       }
    }
};

または、Personオブジェクトは、データバインディングのような配置で、任意の子のアドレスをそれ自体に設定できます。

于 2012-09-17T11:54:37.887 に答える