valido recursos recurso que puede procesar nombre multilenguaje identificador archivo app_globalresources aplicaciones c# resources

c# - puede - que es un archivo de recursos



Determine si existe un recurso en ResourceManager (2)

Creo que puede usar algo como Assembly.GetManifestResourceNames para enumerar la lista de recursos disponibles en el manifiesto de la Asamblea. No es bonito y no resuelve todos los casos de esquina, pero funciona si es necesario.

¿Hay alguna forma de determinar si un ResourceManager contiene un recurso con nombre? Actualmente estoy atrapando la excepción MissingManifestResourceException, pero odio tener que usar excepciones para situaciones no excepcionales. Debe haber alguna manera de enumerar los pares de nombre y valor de un ResourceManager a través de la reflexión, o algo así?

EDITAR : Un poco más de detalle. Los recursos no se encuentran en la ejecución del ensamblado, sin embargo, ResourceManager está funcionando bien. Si intento _resourceMan.GetResourceSet(_defaultCuture, false, true) obtengo nulo, mientras que si intento _resourceMan.GetString("StringExists") obtengo una cadena de nuevo.


Puede usar el ResourceSet para hacer eso, solo carga todos los datos en la memoria si lo enumera. Aquí y''go:

// At startup. ResourceManager mgr = Resources.ResourceManager; List<string> keys = new List<string>(); ResourceSet set = mgr.GetResourceSet(CultureInfo.CurrentCulture, true, true); foreach (DictionaryEntry o in set) { keys.Add((string)o.Key); } mgr.ReleaseAllResources(); Console.WriteLine(Resources.A);