public class Car
{
public int ID { get; set; }
public string Name { get; set; }
public string Maker { get; set; }
public Car(int id, string name, string maker)
{
ID = id;
Name = name;
Maker = maker;
}
public Car()
{
}
}
class Program
{
static void Main(string[] args)
{
PropertyInfo[] props = typeof(Car).GetProperties();
foreach (PropertyInfo prop in props)
{
Console.WriteLine($@"{prop.Name} : {prop.PropertyType}");
}
Console.ReadLine();
}
}
これをぶん回すと!
ちゃんとデータ型が取れているのが分かりますね!
動的に値を自由に操作することも可能!
実はこの方法を少し応用すれば、プロパティの値を動的に変更することもできます!
いつもなら下記のようなコードを書いてプロパティを変更してるとして。
var car = new Car(1,"インプレッサ","subaru");
car.Name = "フォレスター";
下記のようなコードでプロパティを変更できます!
var car = new Car(1, "インプレッサ", "subaru");
var carNameProp = props.First(item => item.Name == nameof(Car.Name));
carNameProp.SetValue(car,"フォレスター");
Console.WriteLine(car.Name);
コメント