利用ResourceReader和ResXResourceWriter转换资源文件

我们在用Reflector查看源代码的时候

资源文件是resources格式的

无法直接在.NET中使用

虽然把代码弄到了,但是图片无法还原

依旧是憾事

 

其实要得到资源文件里的内容,很简单

MS提供给我们ResourceReader和ResourceWriter 以及ResXResourceReader和ResXResourceWriter

 

我们利用这几个类可以进行resources格式和resx格式的相互转换

 

假设我们有一个resources格式的资源文件

 

那么我们写下如下代码

 

ResourceReader rr = new ResourceReader(inputResources); string s = ""; byte[] b; rr.GetResourceData("key", out s, out b); rr.Close();

 

inputResources是需要读取的资源文件

返回的s是Type,b就是资源文件中的Data

key可以从反编译的代码中得到

 

如果我们把得到data写入到resx文件中

ResXResourceWriter rrw = new ResXResourceWriter(outputResx); rrw.AddMetadata("key", b); rrw.Generate(); rrw.Close();

outputResx是生成的resx格式的资源文件

 

好了,这个时候你用文本编辑器打开生成的outputResx

就可以看到里面的值了

这样你重新创建一个资源文件

然后把值拷贝过去就可以用了

你可能感兴趣的:(.net,String,byte,resources,文本编辑)