Используя C#, мне нужно сделать обратный поиск моего файла ресурсов. Я знаю, как захватить строковое значение с помощью класса ResourceManager, но теперь я хочу сделать обратное. Нужно ли сначала загружать файл ресурсов в xml-файл?Обратный поиск в файле ресурсов?
Причина, по которой я хочу это сделать, состоит в том, что у меня есть некоторые жестко закодированные перечисления, которые находятся на английском языке, а файл ресурсов содержит ключи от английского до испанского и значения. Поэтому, когда мой код ищет WorkflowSupport.Completed enum, но рабочий процесс возвращает «Terminado», а не «Completed», он потерпит неудачу.
То, что я специально пытался сделать это:.
У меня есть рабочий процесс SharePoint, возвращающий шаг рабочий процесс находится в I локализовал этот рабочий процесс, поэтому вместо того, чтобы вернуться «Завершено» он вернется «Terminado» , У меня есть перечисление с пятью жестко закодированными значениями, которые соответствуют различным состояниям рабочего процесса (завершено, отменено, переназначено, завершено и обрабатывается). Поскольку рабочий процесс возвращает «Terminado» вместо «Completed», код не может соответствовать «Terminado» для любого из значений перечисления и не выполняется. Я хочу сделать обратный поиск в моем файле ресурсов, поэтому, если я получу такое значение, как «Terminado», я могу вернуть «Завершено» и успешно сопоставить его с членом перечисления «Завершено».
Если есть лучший способ сделать это, я все уши :)
Вы сравниваете имя перечисления с локализуемым строковым значением? – digEmAll
Да, используя метод .ToString() для перечисления. Однако это не удастся, так как локализованная строка будет на испанском языке, а перечисление будет на английском языке. –
Но почему вы это делаете? Не можете ли вы назвать свое значение перечисления «ЗАВЕРШЕНО», а ваш ключ ресурса «ЗАВЕРШЕН» двумя значениями: eng: «Completed», esp: «Terminado». Таким образом, вы можете получить доступ к ресурсу с помощью ключа «COMPLETED», который является культурно-инвариантным? – digEmAll