Я пытаюсь получить значение ressource.resx, но не могу.
Я делаю :
foreach (string certif in ContactCertifications)
{
Type calledType = Type.GetType("TestNamespace.Resources");
String s = (String)calledType.InvokeMember(certif,BindingFlags.InvokeMethod
| BindingFlags.Public |BindingFlags.Static,null,null,null); }
certif = "PRG_CARTV"
calledType: {Name = "Resources" FullName = "TestNamespace.Resources"} и когда я нахожусь в строке «String s = (String) namedType», у меня появляется ошибка: «Метод 'TestNamespace.Resources.PRG_CARTV' не найден».
А когда у меня String s = TestNamespace.Resources.PRG_CARTV;, он работает, поэтому я не понимаю ..
Когда я делаю просто:
var myManager = new ResourceManager(typeof(Resources));
var myString = myManager.GetString("PRG_CARTV");
это не работает, у меня есть ошибка: «Не могу найти подходящие ресурсы для указанной культуры или нейтральной культуры. Убедитесь, что \" TestNamespace.Ressources.resources \ "правильно встроен или связан в сборке ...»





У вас здесь 2 проблемы:
1) Получив значение ресурса через отражение, я попробовал это и работал:
String s = (String) calledType.InvokeMember(certif, BindingFlags.GetProperty | BindingFlags.NonPublic | BindingFlags.Static, null, null, null);
Обратите внимание на флаги привязки, которые изменились: BindingFlags.GetProperty вместо BindingFlags.InvokeMethod и BindingFlags.NonPublic вместо BindingFlags.Public
2) Проблема с ResourceManager. Я бы сам попробовал заново воссоздать Resources.resx. Если вы хотите продолжить изучение, проверьте похожие проблемы здесь, в StackOverflow, например: Не удалось найти ресурсы, подходящие для указанной культуры или нейтральной культуры.
О, я нашел, как получить это значение с помощью RessourceManager, спасибо! var myManager = новый ResourceManager (typeof (ConsoleApp1.Properties.Ressources)); var myString = myManager.GetString ("PRG_CARTV");
Привет, спасибо за ответ, но это решение тоже не работает для меня. : / У меня есть: calledType = {Name = "Resources" FullName = "TestNamespace.Resources"}, а затем исключение: "Метод 'TestNamespace.Resources.PRG_CARTV' не найден" Но я посмотрю ссылку, которую вы мне прислали.