2012-02-23 19 views
1

私はすべての色のリストを持ちたいと思います。私が1つの色を選択すると、その色からその色を取得する必要があります。C#のコンパクトなフレームワークで色の名前から色を取得するには?

私は...この方法を使用することにより、色のリストを持つ

Type colorType = typeof(System.Drawing.Color); 
       // We take only static property to avoid properties like Name, IsSystemColor ... 
       PropertyInfo[] propInfos = colorType.GetProperties(BindingFlags.Static | BindingFlags.DeclaredOnly | BindingFlags.Public); 

foreach (var colorInfo in propInfos) 
      { 
// making a list here 
} 

が、コンパクトで利用可能なColor.FromName()メソッドがないので、私はそれの名前から色を取得する方法がわからないのですフレームワーク。

+0

詳細にあなたのコードを記入してください。 –

+0

'Color.FromKnownColor'をチェックしましたか?これはあなたが必要とするものですか? – V4Vendetta

+0

質問されて以来、この質問に何かもっと学んだことはありますか?私は以前の完全なフレームワークのプロジェクトからコードを移植していますが、その1つはカンマ区切りのテキスト行で色を取得するために "Color.FromName(...)"を使用することです。 –

答えて

0

コンパクトなフレームワークがサポートしているものは正確にはわかりませんが、 "完全な" C#では、PropertyInfoの各インスタンスはプロパティ "Name"と "GetValue"というプロパティを持ち、名。 (LINQが許可されている場合)などの

何か

Color color = (Color)propInfos.Single(pi => pi.Name == colorName).GetValue(null); 

(は、colorNameが見つからない場合.Singleが例外をスローすることに注意してください。)

関連する問題