C#でColorの値をリストアップしてみる

C#というよりは、.NET Framework
Colorクラスに定義されている値をすべて参照する
にはどうすればいいかということ。


ListViewにリストアップしてます。
ポイントはGetProperties()とBindingFlagsです。

foreach (PropertyInfo info in typeof(Color).GetProperties(BindingFlags.Public | BindingFlags.Static))
{
  Color color = (Color)info.GetValue(null, null);
  if (color.Name == "Transparent")
    continue;

  string value = "#" + color.R.ToString("X2") + color.G.ToString("X2") + color.B.ToString("X2");
  ListViewItem item = new ListViewItem(new string[] { color.Name, value });
  item.BackColor = color;
  listView1.Items.Add(item);
}