Как я могу получить доступ к встроенным ресурсам в проекте C#?

Большинство тем, которые я читал об этом вопросе, отвечают, что вам просто нужно получить к ним доступ следующим образом:

<MyProjectNamespace>.Properties.Resources.<MyResourceName>

Но в процессе сборки у меня есть это сообщение:

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

Кажется, что класс 'Properties' обычно автоматически генерируется IDE, когда вы добавляете ресурсы в свой проект.

Дело в том, что я работаю над Eclipse и не знаю, как добавить ресурсы, но мне удалось создать файл.resx из Visual Studio (который я использую для разработки формы Windows), который я добавил в Nant. построить файл как "ресурс", наряду с моими растровыми изображениями. Тогда это действительно встраивает ресурсы, но я не могу получить к ним доступ...

Итак, как я могу встраивать ресурсы в свое приложение (обычно) и получать к ним доступ, используя Eclipse + Emonic + Nant для его создания?

Спасибо,

Павел.

2 ответа

Вы должны создать ResourceManager Например, чтобы открыть файл Resx, как это:

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;

Если они являются ресурсами формы, вы также можете получить их следующим образом:

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

Попробуйте использовать ResourceManager в пространстве имен System.Resources. Очевидно, это немного зависит от того, что вы пытаетесь получить, но мой выглядит так:

ResourceManager.GetString("String1", resourceCulture);
Другие вопросы по тегам