Как получить цвет из названия цвета в C # compact framework? - PullRequest
1 голос
/ 23 февраля 2012

Я хочу иметь список всех цветов, и когда я выбираю один цвет, мне нужно получить этот цвет из его названия.

У меня есть список цветов с использованием этого метода ...

    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 ().

1 Ответ

0 голосов
/ 23 февраля 2012

Я не знаю точно, что поддерживает компактный каркас, но в «полном» C # каждый экземпляр PropertyInfo имеет свойство «Name» и метод «GetValue», который можно использовать, чтобы найти цвет, задав только имя .

Нечто подобное (если разрешено LINQ)

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

(Обратите внимание, что .Single выдает исключение, если colorName не найдено.)

...