zoukankan      html  css  js  c++  java
  • ResourceWriter和ResxResourceWriter的區別

    1.ResourceWriter生成二進制資源文件,生成的文件的后綴名為:.resources,而ResxResourceWriter編寫生成基於XML的資源文件,生成的后綴名為:.resx

    ResXResourceWriter rrw = new ResXResourceWriter("demo.resx");
    Image image = Image.FromFile(@"F:\Personal\Icons\WebIcon\webicon\001.gif");
    rrw.AddResource("ApplicationTitle", "歡迎來到我的應用程序");
    rrw.AddResource("testimage", image);
    rrw.Generate();
    rrw.Close();
    注意創建ResXResourceWriter實例化時文件名為demo.resx,生成在Bin目錄

    ResourceWriter rw = new ResourceWriter("demo.resources");
    Image image = Image.FromFile(@"F:\Personal\Icons\WebIcon\webicon\001.gif");
    rw.AddResource("ApplicationTitle", "歡迎來到我的應用程序");
    rw.AddResource("testimage", image);
    rw.Generate();
    rw.Close();注意創建ResourceWriter實例化時文件名為demo.resources,生成在Bin目錄

    2.讀取兩种方文件的方式不一樣
    ResourceManager rm = new ResourceManager("WindowsApplication1.demo", this.GetType().Assembly);
    string test = rm.GetString("ApplicationTitle").ToString();
    Image image = (Image)rm.GetObject("testimage");
    this.pictureBox1.Image = image;實例化ResourceMananger時構造函數的參數要以"命名空間名.resx文件名的"方式來命名,如:類的命名空間為testNamespace
    而resx的文件名為:demo.resx的話,那該參數為:testNamespace.demo

    ResourceManager rm = new ResourceManager("demo", this.GetType().Assembly);
    string test = rm.GetString("ApplicationTitle").ToString();
    Image image = (Image)rm.GetObject("testimage");
    this.pictureBox1.Image = image;實例化ResourceMananger時構造函數的參數要以"文件名"方式來命名,如:資源文件demo.resources文件,該參數為:
    demo
    這是我個人的理解,理解不深難免有錯誤,請各位指正

  • 相关阅读:
    Apache ActiveMQ任意文件写入漏洞(CVE-2016-3088)复现
    Apache ActiveMQ序列化漏洞(CVE-2015-5254)复现
    Jenkins Java 反序列化远程执行代码漏洞(CVE-2017-1000353)
    jenkins未授权访问漏洞
    jenkins弱口令漏洞
    jboss 未授权访问漏洞复现
    jboss反序列化漏洞复现(CVE-2017-7504)
    C++中的强制类型转换
    new/delete与命名空间
    函数默认参数与占位参数
  • 原文地址:https://www.cnblogs.com/dotneter/p/1388158.html
Copyright © 2011-2022 走看看