代码阅读总结之Fitch and Mather 7.0(资源文件Resource随笔)

本文介绍了资源文件的两种格式及三种创建方式,并演示了如何在.NET项目中引用资源文件,包括使用Resgen.exe工具和编程方式创建资源文件的过程。
相关文章导航
Sql Server2005 Transact-SQL 新兵器学习总结之-总结
Flex,Fms3相关文章索引
FlexAir开源版-全球免费多人视频聊天室,免费网络远程多人视频会议系统((Flex,Fms3联合开发))<视频聊天,会议开发实例8>

在Fitch and Mather 7.0中利用了大量的资源文件

资源文件对创建和本地化提供全面的支持

资源可以包含多种形式的数据,包括字符串、图像和持久的对象

通过在资源文件中存储数据,无需重新编译即可更改数据。

为了将持久对象写入资源文件,这些对象必须是可序列化的。

 

Fitch and Mather 7.0在命名空间FMStocks7.Common中创建了一个ResourcesCollection集会类

此类定义了一个构造器和2个索引器

构造器初始化一个私有的ResourceManager实例

索引用来读取资源文件中的数据

 

在类BLO中,我们看到初始化了一个ResourcesCollection 

 

 

 

protected static ResourcesCollection Resources= new ResourcesCollection( Assembly.GetExecutingAssembly() );

因为ResourceManagers 的使用成本较大,所以声明一个静态ResourceManagers(除非有特殊需要才声明多个),并在类级别进行声明,进一步节约内存资源。

 

在类Ticker中通过索引器得到资源文件中记录的数值

private static readonly string DailyVolHeading     = Resources[ "Ticker.DailyVolHeading" ];

 

看了半天知道资源文件的使用,但是我们将怎么创建一个资源文件呢?

经过摸索,我总结如下:

资源文件有2种格式

1..resx(基于 XML 的资源格式)文件

2.公共语言运行库二进制 .resources 文件


 

 

 

创建资源文件的方式有3种

1.  用.NET Framework 工具资源文件生成器 (Resgen.exe)

Resgen.exe 可以进行下列转换:

将 .txt 文件转换为 .resources 文件或 .resx 文件。

将 .resources 文件转换为文本文件或 .resx 文件。

将 .resx 文件转换为文本文件或 .resources 文件。

 

先创建一个文本文件先创建一个文本文件strings.txt

在里面写下

;1

welcome = Welcome to you

 

;2

par = gogogo

注意:有个分号的行是该文件中的注释,它供自己使用的

 

再到命令窗口中输入

d:\resgen.exe d:\strings.txt d:\strings.resX

这样就成功创建了一个xml形式的资源文件strings.resx

 

2.  利用编程的方式来创建资源文件

创建一个控制台程序

具体代码如下: 

 

 

 

using System; 
using System.Reflection; 
using System.Resources; 
 
namespace ConsoleApplication1 
    class Class1 
    { 
        [STAThread] 
        static void Main(string[] args) 
        { 
            IResourceWriter writer = new ResourceWriter("myR.resources"); 
                Bitmap b = new Bitmap("us50.gif"); 
         
            writer.AddResource("String1", "one"); 
 
            writer.AddResource("String2", "two"); 
             
            writer.AddResource("pic", b); 
 
            writer.Close(); 
        } 
    } 

 

这样不仅可以把字符,还可以把图片也放入到资源文件中

运行此控制台会得到资源文件myR.resources

 

1.  通过vs2003来创建资源文件

此方法最简单,我就不多说了

 

创建好资源文件后就可以在自己的项目中引用它们了

特别要注意的是一定要在vs中设定好资源文件的使用属性

生成操作属性要设置为” 嵌入的资源”

见图片: 
 


我又编写了一个控制台程序来引用我的资源文件

代码如下:

 

using System; 
using System.Reflection; 
using System.Resources; 
 
namespace con2 
    class Class1 
    { 
        [STAThread] 
        static void Main(string[] args) 
        { 
            Assembly ass=Assembly.GetExecutingAssembly(); 
            string name="con2.strings"; 
 
            ResourceManager rs=new ResourceManager(name,ass); 
 
            ResourceManager rsmyR=new ResourceManager("con2.myR",ass); 
 
            Console.WriteLine("strings Resource:" + rs.GetObject("welcome")); 
 
            Console.WriteLine("myR Resource:" +rsmyR.GetObject("String2")); 
                         
            Console.ReadLine(); 
        } 
    } 

 

打印出:

Welcome to you

Two

 

特别提示:

ResourceManager类的构造函数的第一个参数是资源的根名称

它由名称空间+资源文件名组成(不要扩展名)

ass.GetManifestResourceNames()方法可以得到所有资源的名称

ass.GetName().Name属性可以得到空间名

 

 


希望上面提到的知识对你有所提示

当然欢迎交流和指正

  

 

 

 

收藏与分享
收藏到QQ书签 添加到百度搜藏 添加到百度搜藏 添加到雅虎收藏 分享到饭否 收藏到就喜欢网络收藏夹 

RSS订阅我 什么是RSS?
feedsky    http://wap.feedsky.com/aierongrss    E-mail 
订阅到雅蛙        使用RSS邮天下订阅    订阅到有道阅读 
订阅到抓虾    鲜果阅读器订阅图标    Add to Google 
訂閱 Bloglines    哪吒提醒    Subscribe in NewsGator Online

东莞.net俱乐部
东莞.net俱乐部 欢迎您的加入

我的系列文章
A.Sql Server2005 Transact-SQL 新兵器学习 
B.MCAD学习 
C.代码阅读总结 
D.ASP.NET状态管理 
E.DB(数据库) 
F.WAP 
G.WinForm 
H.Flex

我的好文推荐
FlexAir开源版-全球免费多人视频聊天室,免费网络远程多人视频会议系统((Flex,Fms3联合开发))<视频聊天,会议开发实例8> 
Sql Server2005 Transact-SQL 新兵器学习总结之-总结 
MS SQL数据库备份和恢复存储过程(加强版本) 
sql server中分布式查询随笔(链接服务器(sp_addlinkedserver)和远程登录映射(sp_addlinkedsrvlogin)使用小总结) 
ASP.NET2.0国际化/本地化应用程序的实现总结(多语言,多文化页面的实现) 
WAP开发资料站(最新更新) 
自定义格式字符串随笔 (IFormattable,IFormatProvider,ICustomFormatter三接口的实现) 
Mcad学习笔记之异步编程(AsyncCallback 委托,IAsyncResult接口,BeginInvoke方法,EndInvoke方法的使用小总结) 
Mcad学习笔记之通过反射调用類的方法,屬性,字段,索引器(2種方法) 
Mcad学习笔记之序列化(2进制和Soap序列 化) 
Mcad学习笔记之委托再理解(delegate的构造器,BeginInvoke,EndInvoke,Invoke4个方法的探讨) 
ASP.NET状态管理之一(概括篇) 
Flex,Fms学习笔记


本文转自aierong博客园博客,原文链接:http://www.cnblogs.com/aierong/archive/2005/04/21/142882.html,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值