Небольшое продолжение ответа Яни (который хорошо сработал для меня):
string description = Strings.GetString( Key );
можно сделать более четко, как
ResourceManager rm = YourResourceClassName.ResourceManager;
string description = rm.GetString(Key);
Это было неясно, но не былоПонятно, чего не хватало в исходном коде.Свойство .ResourceManager
класса ресурса генерируется автоматически.
Затем для доступа к нему используйте метод расширения, описанный здесь Glennular: StackOverflow вместо жесткого кодирования в именах полей / классов(просто используйте LocDescriptionAttribute
вместо DescriptionAttribute
).
Единственное другое изменение, которое я сделал, было сделать его статическим на основе this IComparable enum
, чтобы позволить его использовать любым перечислением вместо привязки копределенный тип;это было лучшее, что я мог сделать, учитывая, что я не могу применить интерфейс, чтобы ограничить его только перечислениями, к которым я добавил описания.