如何循环使用资源管理器中的所有资源?
即: foreach(ResourceManager中的字符串资源) //用资源做点什么。
由于
答案 0 :(得分:29)
使用ResourceManager。GetResourceSet()获取给定文化的所有资源的列表。返回的ResourceSet实现IEnumerable(您可以使用foreach)。
回答Nico的问题:您可以将IEnumerable
的元素计算到通用IEnumerable<object>
并使用Enumerable.Count<T>()
扩展方法,这是C#3.5中的新方法:< / p>
using System.Linq;
...
var resourceSet = resourceManager.GetResourceSet(..);
var count = resSet.Cast<object>().Count();
答案 1 :(得分:1)
我想知道您为什么要遍历所有资源。
无论如何,ResourceManager
需要实例化,为其提供Type
或查找资源的基本名称。然后,如果您想获得给定`ResourceManager
ResourceSet
但是对于给定的CultureInfo
。