Почему Enum.GetValues () недоступен в Windows Phone 7 API, и означает ли это, что я вообще должен уклоняться от Enums в пользу структур или других механизмов.
Enum.GetValues в WP7
Ответ 1
Почему Enum.GetValues () недоступен в API Windows Phone 7
"Почему" связано с тем, что WP7 основан на "Compact Framework" - для экономии ресурсов компактная структура не содержит всех методов в полной структуре, а Enum.GetValues () был одним из пропущенных.
делает это означает, что я вообще должен уклоняться из Enums в пользу структур или другие механизмы.
Нет - нет особых причин. Я бы рекомендовал вам продолжать использовать перечисление, где вы найдете их наиболее подходящим программным решением.
Ответ 2
Я столкнулся с этим. Для моих целей я смог использовать отражение
foreach (var x in typeof(MyEnum).GetFields()) {
if (x.IsLiteral) {
// Do my stuff here
}
}
На самом деле это зависит от того, что вы делаете с ними.