Перебирать все ресурсы в ResourceManager – C#
Вопрос
Как мне получить доступ ко всем ресурсам в диспетчере ресурсов?
Т.е.:foreach (строковый ресурс в ресурсах) // Сделайте что -нибудь с Recource.
Спасибо
Решение
Используйте РесурсМенеджер.GetResourceSet() для списка всех ресурсов для данной культуры.Возвращенный ResourceSet реализует IEnumerable (вы можете использовать foreach).
Чтобы ответить на вопрос Нико:вы можете посчитать элементы IEnumerable
путем приведения его к общему IEnumerable<object>
и используйте Enumerable.Count<T>()
метод расширения, который является новым в C# 3.5:
using System.Linq;
...
var resourceSet = resourceManager.GetResourceSet(..);
var count = resSet.Cast<object>().Count();
Другие советы
Интересно, почему вы хотите просмотреть все ресурсы?
В любом случае, ResourceManager
необходимо создать экземпляр, придав ему Type
или базовое имя, где искать ресурсы.Тогда вы сможете получить ResourceSet
но для данного CultureInfo
, следовательно, если вы хотите получить все ресурсы для данного `ResourceManager