c# 资源文件

资源文件类型

参考:http://blog.csdn.net/flyingdream123/article/details/3754470

System.Resources名称空间支持三种资源文件:

(1)txt文件,只能有字符串资源。因为不能被嵌入到Assembly中,所以很容易暴露,被窗户修改。

不可以直接调用,得先将其转换成resources文件才能使用

(2)resx文件,由xml组成,可以加入任何资源,包括二进制,同样不能被嵌入到Assembly中。

可以用ResXResourceReader来读取,但是不直观。如果在VS.NET中添加resx文件,那么它们会自动被设为Embeded Resource,转换成resources文件后被 嵌入到Assembly中。

(3)resources文件,PE格式,可以加入任何资源,可以被嵌入到Assembly中,在System.Resources名称空间中有专用读写的类。

如果resources文件被嵌入或编译成Satellite Assembly,那么可以用ResourceManager的各种constructor来获得Assembly中的资源。

如果没有被 嵌入或编译成Satellite Assembly,那么可以用Resourcemanager.CreateFileBasedResourceManager来获得资源集。

如果嵌入一个资源不是通过资源文件而直接将一资源嵌入到Assembly中,只需要调用Assembly.GetManifestResourceStream这个函数,这个函数将一嵌入到Assembly中的资源以stream的方式返回,而我们可以将这个stream转成.NET中可用的对象。比如,如果嵌入资源是一图片,那么我们可以利用New Bitmap(stream)这个Bitmap的constructor获得这个图片资源的Bitmap对象。

 

ResourceManager(String,Assembly)

string就是资源的完整名,一个完整名由它的名字空间和文件名前部分组成,例如,如要默认名字空间是DefaultNamspace,资源文件的名字是String.en-US.resources,那么它的完整名就是DefautlNamespace.Strings。如果资源文件放在subFolder子文件夹下,它们文件名是DefaultNamespace.subFolder.Strings。

 

最后欢迎大家访问我的个人网站: 1024s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值