English 中文(简体)
集合资源
原标题:Resource from assembly as a stream
  • 时间:2009-09-07 07:42:50
  •  标签:

我在C# WPF中有一个形象,其建设行动将投入资源。 它只是源头的一个档案,通过rag/dr形财产方言在评估资源收集中添加了斜线。 我试图把它写成一个流子,但尽管尝试了几处大 variations、闪lash、名称空间和似乎一切的改动,我还是可以开张。

我可以进入别处的Xaml,用“包装/应用:,/Resources/images/flags/tr.png”,但我可以进入一个含有该物质的流。

大部分地方似乎都使用

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);
        }
        writer.Close();
    }
    reader.Close();
}

我的n头有uck。

最佳回答

GetManifestResourceStream是传统性的。 NET Resources i.e. those referenced in RESX file. 这些与世界森林基金的资源,即资源建设行动的资源,并不相同。 如欲查阅,请上Application.GetResourceStream,通过适当的包装:URI。 这归还了一个精炼的Info物品,该物品拥有一个精炼的财产,可以查阅资源数据。

问题回答

http://msdn.microsoft.com/en-us/library/ms596994.aspx” rel=“noreferer”>。

StreamResourceInfo sri = Application.GetResourceStream(new Uri("Images/foo.png"));
if (sri != null)
{
    using (Stream s = sri.Stream)
    {
        // Do something with the stream...
    }
}

如果我正确,你就有一个问题,那就是开放资源流,因为你不知道它的确切名称? 如果是,你可以使用

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

a 包括资源在内的全部名字清单。 这样,你就可以找到你形象所分配的资源名称。

没有必要使用近距离(近距离)方法,在使用条款的末尾将自动使用。 因此,您的法典可能认为:

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);
    }
}




相关问题
热门标签