後輩にクラスからフィールド名と値ってどうやってとれるんですか?と聞かれたのでサンプルを書きました。
クラス
例えばこんなクラスがあったとします。
public static class Orange
{
public const int Id = 1;
public const string Name = "Orange";
public const int Price = 100;
}
フィールド名と値を取得する
このクラスからフィールド名と値をリフレクションで取得します。
public class Program
{
static void Main(string[] args)
{
var t = typeof(Orange);
foreach (var f in t.GetFields())
{
var n = f.Name;
var v = f.GetValue(t);
Console.WriteLine(string.Format("フィールド名: {0}, 値: {1}", n, v));
}
Console.ReadLine();
}
}
Visual Studio で適当にコンソールアプリ作って実行するとこんな感じに表示されます。
フィールド名: Id, 値: 1
フィールド名: Name, 値: Orange
フィールド名: Price, 値: 100
関連情報
C# や ASP.NET に関連する記事を以下にまとめています。
テレワークしている方には以下の記事がおすすめです。
私のお気に入りは REALFORCE と R&F BELX のルイボスティーです。
エンジニア初心者向けに本当に使えるツールを紹介しています。
特に Notion はタスク管理に本当に便利です。