1

У меня есть два файла .resx для локализации - Global.en.resx и Global.resx (ru). Пытаясь получить значение по имени с помощью ResourceManager, я столкнулся с проблемой: значение отображается только на русском языке.Невозможно получить значение из файла ресурсов с помощью отражения

ResourceManager rm = new ResourceManager(resourceType.FullName, resourceType.Assembly); 
ResourceSet rs = rm.GetResourceSet(CultureInfo.CurrentCulture, true, true); 
foreach (DictionaryEntry d in rs) 
{ 
    if (d.Key.ToString() == propName) displayName = (string)d.Value; 
} 

resourceType - resources class, propName - название недвижимости, которую я хочу отобразить. Пожалуйста, помогите мне

+0

Является ли нынешняя культура английской или русской? Идя по именам ваших файлов ресурсов, я бы предположил, что текущая (стандартная) культура - русская ... –

+0

Я меняю текущую культуру, и она отлично работает, когда я просто показываю ее из представления с помощью @ MyResources.Global.PropertyName. Но когда я пытаюсь получить значение с помощью отражения, он терпит неудачу, как описано выше. – ivanblin

+0

Его сбивает с толку, потому что пример, который вы опубликовали, вообще не имеет никакого отражения в нем, так это вы используете отражение? В приведенном выше примере вы получаете ** текущую ** культуру, которая, вероятно, является русской, и она будет работать, если вы измените ** текущую ** культуру, но если вы хотите вернуть другую культуру, вы не сможете перейдите в 'CultureInfo.CurrentCulture' к' GetResourceSet', вам нужно создать английскую культуру и передать это. –

ответ

0

Когда вы говорите, что пытаетесь получить значение по имени, вы имеете в виду ResourceManager? Вы можете получить ResourceManager любым способом, но вы получаете ResourceSet от CultureInfo, а не от имени. Это ваша проблема.

+0

Что значит? Если вы говорите о rm.GetString (propName), я тоже пробовал этот способ, но он отображает не значение свойства, он отображает имя свойства (что является двойным странным) – ivanblin

 Смежные вопросы

  • Нет связанных вопросов^_^