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
這是我個人的理解,理解不深難免有錯誤,請各位指正

你可能感兴趣的:(resource)