Ресурс из сборки в виде потока

Преобразуйте свои даты в часовой пояс GMT, когда вы набиваете их в Mongo. Таким образом, никогда не возникает проблема с часовым поясом. Затем просто сделайте математику в поле twitter / timezone, когда вы вытащите данные для презентации.

30
задан Thomas Levesque 7 September 2009 в 07:57
поделиться

4 ответа

GetManifestResourceStream предназначен для традиционных ресурсов .NET, то есть тех, на которые есть ссылки в файлах RESX. Это не то же самое, что ресурсы WPF, то есть те, которые добавляются с действием сборки ресурса. Для доступа к ним вы должны использовать Application.GetResourceStream , передав соответствующий pack: URI. Это возвращает объект StreamResourceInfo, у которого есть свойство Stream для доступа к данным ресурса.

26
ответ дан 27 November 2019 в 23:44
поделиться

Вероятно, вы ищете Application.GetResourceStream

StreamResourceInfo sri = Application.GetResourceStream(new Uri("Images/foo.png"));
if (sri != null)
{
    using (Stream s = sri.Stream)
    {
        // Do something with the stream...
    }
}
27
ответ дан 27 November 2019 в 23:44
поделиться

Если я правильно понял, у вас есть проблема с открытием потока ресурсов, потому что вы не знаете его точное имя? Если это так, вы можете использовать

System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceNames()

, чтобы получить список имен всех включенных ресурсов. Таким образом вы сможете найти имя ресурса, присвоенное вашему изображению.

6
ответ дан 27 November 2019 в 23:44
поделиться

Нет необходимости вызывать метод Close (), он будет автоматически вызываться Dispose () в конце предложения using. Итак, ваш код может выглядеть так:

using(BinaryReader reader = new BinaryReader(System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("ResourceBlenderExpress.Resources.images.flags.tr.png")))
using(BinaryWriter writer = new BinaryWriter(File.OpenWrite(imageFile))) 
{
    while((read = reader.Read(buffer, 0, buffer.Length)) > 0) 
    {
        writer.Write(buffer, 0, read);
    }
}
1
ответ дан 27 November 2019 в 23:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: