vIceBerg
vIceBerg

Reputation: 4297

Loop through all Resources in ResourceManager - C#

How do I loop into all the resources in the resourcemanager?

Ie: foreach (string resource in ResourceManager) //Do something with the recource.

Thanks

Upvotes: 18

Views: 26424

Answers (2)

VVS
VVS

Reputation: 19602

Use ResourceManager.GetResourceSet() for a list of all resources for a given culture. The returned ResourceSet implements IEnumerable (you can use foreach).


To answer Nico's question: you can count the elements of an IEnumerable by casting it to the generic IEnumerable<object> and use the Enumerable.Count<T>() extension method, which is new in C# 3.5:

using System.Linq;

...

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

Upvotes: 30

Leandro L&#243;pez
Leandro L&#243;pez

Reputation: 2185

I wonder why would you like to loop through all of the resources.

Anyway, ResourceManager needs to be instantiated giving it a Type or the base name where to lookup for resources. Then you will be able to retrieve a ResourceSet but for a given CultureInfo, ergo if you want to obtain all the resources for a given `ResourceManager

Upvotes: 1

Related Questions