遍历ResourceManager中的所有资源-C#

时间:2020-03-06 14:47:22  来源:igfitidea点击:

如何循环进入资源管理器中的所有资源?

IE:
foreach(ResourceManager中的字符串资源)
//做些资源。

谢谢

解决方案

使用ResourceManager.GetResourceSet()获得给定区域性的所有资源的列表。返回的ResourceSet实现IEnumerable(我们可以使用foreach)。

要回答Nico的问题:我们可以通过将IEnumerable'的元素转换为通用的IEnumerable <object>并使用Enumerable.Count <T>()`扩展方法(在C3.5中是新方法)来计数:

using System.Linq;

...

var resourceSet = resourceManager.GetResourceSet(..);
var count = resSet.Cast<object>().Count();

我想知道我们为什么要遍历所有资源。

无论如何,都需要实例化" ResourceManager",并为其提供一个" Type"或者用于在其中查找资源的基本名称。然后,我们将能够检索" ResourceSet",但是对于给定的" CultureInfo",如果要获取给定的" ResourceManager"的所有资源,则可以进行操作。