色々な object 型のデータを扱わざる得ないときなど、毎回キャストしてアクセスするのが面倒なときに使うかな。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
using System; using System.Reflection; namespace test { class Program { static void Main(string[] args) { FireBird bird = new FireBird(); // プロパティの取得 var property = typeof(FireBird).GetProperty("Name"); // インスタンスの値を取得 var name = property.GetValue(bird); Console.WriteLine($"Name = {name}"); // インスタンスに値を設定 property.SetValue(bird, "Phoenix"); Console.WriteLine($"Name = {bird.Name}"); Console.ReadKey(); } class FireBird { public string Name { get; set; } = "hino-tori"; } } } |