2012-04-07 3 views
0

В моем приложении wp7 я делаю веб-запрос, который возвращает код состояния, например 100, 110 и т. Д. Каждый код состояния связан с сообщением о состоянии. Эти сообщения о статусе локализованы в моем приложении.Перечислять имена переменных в C#

E.g.

m100 'OK' 
m110 'Text was empty' 

Я хочу показать этот текст в окне сообщения следующим образом. contents дает нам код состояния как строковое значение.

var s = 
    MessageBox.Show(AppResources.m100, AppResources.Notice, MessageBoxButton.OK); 

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

var s = 
    MessageBox.Show(AppResources.m+contents, AppResources.Notice, 
        MessageBoxButton.OK); 

Любая идея, как это сделать?

+0

Вместо того, чтобы получить доступ к имени переменной, вы можете попробовать использовать Dictionnay как структуры (или HashMap, Hashtable и т.д. ..) для хранения сообщений и использования m100, m110 ... в качестве ключа для их доступа. Таким образом вы получите свое сообщение, выполнив: 'myDictionnary.get (M100)' – Mesop

+0

@olchauvin, я думаю, что класс 'AppResources' генерируется из файла ресурсов, поэтому словарь уже существует. – svick

ответ

4

Вы должны быть в состоянии использовать ResourceManager, чтобы получить значение:

AppResources.ResourceManager.GetString("m" + contents) 
+0

спасибо, что работает просто отлично –

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