2011-06-07 56 views
6

La mayor parte de los hilos que he leído sobre esta pregunta la respuesta que acaba de acceder a ellos de esta manera:¿Cómo puedo acceder a recursos incrustados en un proyecto de C#?

<MyProjectNamespace>.Properties.Resources.<MyResourceName> 

Pero en el proceso de construcción que tengo este mensaje:

<MyProjectNamespace> does not contain a definition for 'Properties' 

Parece que la clase 'Propiedades' normalmente es generada automáticamente por el IDE cuando agrega recursos a su proyecto.

El hecho es que estoy trabajando en Eclipse y realmente no sé cómo agregar recursos, pero logré generar un archivo .resx de Visual Studio (que utilizo para diseñar mi formulario de Windows) que agregado al archivo .build de Nant como 'recurso', junto con mis mapas de bits. Luego, de hecho, incrustó los recursos, pero no puedo acceder a ellos ...

Entonces, ¿cómo puedo incrustar recursos en mi aplicación (normalmente) y acceder a ellos usando Eclipse + Emonic + Nant para compilarlo?

Gracias,

Paul.

Respuesta

0

Pruebe usar ResourceManager en el espacio de nombres System.Resources. Obviamente, depende un poco de lo que está tratando de recuperar, pero el mío es el siguiente:

ResourceManager.GetString("String1", resourceCulture); 
3

Debe crear una instancia ResourceManager para abrir un resx así:

ResourceManager resources = new ResourceManager("<MyProjectNamespace>.Properties.Resources", typeof(<any type in the assembly>).Assembly); 
string myString = resources.GetString("myString"); 
Bitmap myBitmap = resources.GetObject("myBitmap") as Bitmap; 

Si ellos son los recursos de un formulario también puede obtenerlos de la siguiente manera:

ResourceManager resources = new ResourceManager(typeof(Form1)); 
Cuestiones relacionadas