С# эквивалент getClassLoader().getResourceAsStream()

В Java вы можете прочитать файл, встроенный в JAR-файл, используя следующий код:

String file = "com/company/package/filename.txt";
InputStream is = ClassName.class.getClassLoader().getResourceAsStream(file);

Что такое C#/.NET-эквивалент приведенного выше кода, то есть как мне прочитать файл, который я внедрил в DLL?

Спасибо!


person Community    schedule 23.01.2009    source источник


Ответы (1)


После того, как вы добавили текстовый файл в качестве ресурса и присвоили ему resourceName, затем:

 Assembly assembly = Assembly.GetExecutingAssembly();
 TextReader inputStream = new StreamReader(assembly.GetManifestResourceStream(resourceName));
 string result = inputStream.ReadToEnd();

Примечание. Это взято из этого сообщения.

person Community    schedule 23.01.2009
comment
Спасибо за быстрый ответ! Знаете ли вы, можно ли добавить файл в DLL из командной строки? т.е. не используя Visual Studio. Я использую Mono и хотел бы добавить ресурсы как часть процесса сборки. - person knorv; 23.01.2009
comment
Нашел ответ: используйте флаг -resource при запуске mcs. - person knorv; 23.01.2009