このサイト ( http://snipplr.com/view.php?codeview&id=17637 ) にたどり着きました。このサイトでは、次のようなリフレクションの使用が示されています。
public class Person
{
public int Age { get; set; }
public string Name { get; set; }
}
private void button2_Click_1(object sender, EventArgs e)
{
var person = new Person { Age = 30, Name = "Tony Montana" };
var properties = typeof(Person).GetProperties();
foreach (PropertyInfo property in properties)
{
Console.WriteLine("{0} = {1}", property.Name, property.GetValue(person, null));
}
}
年齢:30歳 名前:トニー・モンタナ
このようにクラス「AnotherPerson」に「Kid」を追加するとどうなるでしょうか
public class Kid
{
public int KidAge { get; set; }
public string KidName { get; set; }
}
public class AnotherPerson
{
public int Age { get; set; }
public string Name { get; set; }
public Kid Kid { get; set; }
}
このスニペット;
private void button3_Click(object sender, EventArgs e)
{
var anotherPerson = new AnotherPerson { Age = 30, Name = "Tony Montana", Kid = new Kid { KidAge = 10, KidName = "SomeName" } };
var properties = typeof(AnotherPerson).GetProperties();
foreach (PropertyInfo property in properties)
{
Console.WriteLine("{0} = {1}", property.Name, property.GetValue(anotherPerson, null));
}
}
年齢: 30歳 名前: トニー・モンタナ 子供: ProjectName.Form1+Kid
私が探していたものではありません....リフレクションを使用して、「キッド」も繰り返し処理できますか?提案?