Получение строки динамически из строковых ресурсов

Еще один способ получить эту ошибку - создать класс без публичных членов. 406 неприемлемым является довольно бесполезным сообщением об ошибке в этом сценарии.

29
задан Bart Friederichs 2 November 2012 в 11:26
поделиться

5 ответов

Небольшой поиск сделал свое дело. У меня есть право ResourceManager, доступное в моем strings классе:

ResourceManager rm = strings.ResourceManager;
string someString = rm.GetString("someString");
47
ответ дан Bart Friederichs 2 November 2012 в 11:26
поделиться

У меня была та же проблема с использованием ASP.NET Core MVC, и мне удалось решить ее с помощью

ResourceManager rm = new ResourceManager(typeof(YourResourceClass));
string someString = rm.GetString("someString");

Очень похоже на решение @ Vlad, но в остальном у меня было MissingManifestResourceException

11
ответ дан skamlet 2 November 2012 в 11:26
поделиться

ResourceManager.GetString следует сделать.

Разобранный пример из MSDN:

ResourceManager rm = new ResourceManager("RootResourceName",
                                         typeof(SomeClass).Assembly);
string someString = rm.GetString("someString");
22
ответ дан Vlad 2 November 2012 в 11:26
поделиться

Существует гораздо более простой способ сделать это

 [NameOfyourResxfile].ResourceManager.GetString("String Name");

в вашем случае

strings.resx.ResourceManager.GetString("someString");
6
ответ дан batmaci 2 November 2012 в 11:26
поделиться

Вы можете написать статический метод следующим образом:

public static string GetResourceTitle<T>(string key)
{
  ResourceManager rm = new ResourceManager(typeof(T));
  string someString = rm.GetString(key);
  return someString;
}

И вызывать где угодно:

var title=  GetResourceTitle<*YouResourceClass*>(key);

Это полезно, когда вы хотите иметь универсальную функцию для получения любой строки Файл ресурсов.

4
ответ дан A.Dara 2 November 2012 в 11:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: