ResourceSet rs = Resources.Loading.ResourceManager.GetResourceSet(CultureInfo.CurrentCulture, true, true);
jusqu'à présent j'ai cette ligne, qui me reçoit tous les messages de chargement,Comment retourner une chaîne de ressource au hasard?
mon problème est le ResourceSet est un IEnumerable. Je ne peux pas comprendre quelle serait la meilleure façon de retourner une chaîne aléatoire dans cet énumérable.
Idéalement, je ferais quelque chose comme rs[Utility.Random(rs.Length)]
, mais je ne peux pas comprendre comment lancer la ResourceSet comme une liste (par exemple), donc je ne pas avoir recours à une abomination comme un manuel boucle avec quelque chose d'horrible comme:
public static string RandomLoadingMessage()
{
ResourceSet rs = Resources.Loading.ResourceManager.GetResourceSet(CultureInfo.CurrentCulture, true, true);
int count = 0;
foreach(object res in rs)
count++;
int position = Utility.Random(count);
count = 0;
foreach(DictionaryEntry res in rs)
{
if(count++ == position)
return res.Value.ToString();
}
return string.Empty;
}