`

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

阅读更多

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属性可以得到空间名

 

 


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

当然欢迎交流和指正

 

blog:

http://www.cnblogs.com/aierong

author:aierong

email:aierong@126.com


写随笔费时又费力,请尊重作者的权利

谢谢!

 

 

 

 

分享到:
评论

相关推荐

    Fitch and Mather 7.0 源代码(C#)

    微软经典Fitch and Mather 源代码(C#) 与 Duwamish 有不同哟!

    mather-raw文件如何打开

    在处理数字信息和文件格式时,用户经常会遇到...总结以上内容,用户可以按照上述步骤来尝试打开mather-raw文件,但在具体操作之前需要确认该工具或软件是否与自己的需求相匹配,并确保已安装了正确的软件或应用程序。

    mather-课程考试资源(html)

    根据提供的文件信息,我们可以得知关于“mather-课程考试资源(html)”的多个知识点,这些知识点涵盖了HTML页面的内容结构、功能特点、可能的应用场景以及相关的教育和学习工具。以下是详细的分析: 首先,从标题...

    mather-课程考试资源

    总结以上内容,我们可以得出Mather是一款集数学知识学习、课程资源整理、研究工具一体化的在线教育辅助软件。它涵盖了从基础数学学习到高级数学问题解答的广泛需求,同时提供了丰富的数学文化和历史资料,旨在为数学...

    ASP.NET课件001

    在学习资源方面,学生可以访问多个官方和第三方网站获取相关资料和示例代码,如Microsoft的官方网站(gotdotnet.com、msdn.microsoft.com)、ASP.NET官方社区(asp.net)以及各种示例项目,例如Duwamish 7.0(网上...

    mather-课程考试资源《html》

    从提供的文件信息来看,这是一个关于HTML课程考试资源的压缩包文件,它包含了多种与HTML相关的教育资源,旨在为使用者提供数学学习、教育和研究的便利。该压缩包中包含了一系列的HTML文件,这些文件很可能是与mather...

    Android代码-Mather

    Mather Mather is a powerful, simple-to-use, no BS expression-based computation engine for Android. Powered by Math.js. In addition to basic calculator arithmetic, Mather supports... Variables User-...

    基于JavaScript的zzllrr Mather数学学习与研究辅助工具设计源码

    该项目是一款基于JavaScript的zzllrr Mather数学学习与研究辅助工具设计源码,总文件量达311个,涵盖235个JavaScript文件、22个woff2字体文件、21个HTML文件、7个CSS文件、6个SVG文件、5个png图片文件、4个jpg图片...

    Ogilvy & Mather.ppt

    总结来说,Ogilvy & Mather的PPT揭示了品牌在商业世界中的关键作用,以及如何通过有效的品牌策略来提升企业的市场地位和价值。在日益激烈的市场竞争中,品牌建设和管理成为了企业生存和发展的核心竞争力。

    如何阅读源代码

    源代码的阅读,能快速提升源代码的阅读能力

    绝世好mather作文.doc

    通过两个独立的场景——镜头一和镜头二,作者巧妙地将妈妈的形象和教育理念融入到温馨而富有情趣的生活细节之中。 在第一个镜头中,作者描绘了妈妈在学习上对孩子的严格要求。她不仅仅是一个只看重分数的母亲,而是...

    2022年mathercup数学建模比赛d题题解

    【2022年mathercup数学建模比赛d题题解】是一个关于数学建模竞赛的资源集合,其中包含了参赛者对问题的解答过程、思路解析以及相关的代码实现。这个压缩包文件提供了全面的解决方案,包括论文撰写、模型构建和求解...

    (源码)基于HTML5和JavaScript的zzllrr Mather数学工具.zip

    zzllrr Mather(小乐数学)是一款开源的数学知识库与解题工具Web应用,支持离线查阅、运算和绘图。该工具覆盖了全数学学科的知识概念、思想方法、典型题库和解法,旨在为教师、学生、数学爱好者和研究者提供一个高效...

    IBM帮助Ogilvy&Mather建立资产管理系统

    作为全球大众传媒营销计划的供应商,Ogilvy&Mather深知使用信息技术来实现企业目标的价值和重要性。Ogilvy& Mather过去一直都选择IBM作为其技术合作伙伴,因此,它会很自然地向IBM寻求帮助,帮助为其品牌资产管理...

    An analysis of the mather imagers in the joy luck club

    【标题】:“An analysis of the mather imagers in the joy luck club” 【描述】:“英语论文,这是毕业时的一部分,要求把论文相关都写上,还要保证时间” 【标签】:“mother” 这篇论文的标题“An analysis ...

    naive_mather:Crystal Shard,用于计算基于文本的方程式的结果

    在 `naive_mather-master` 压缩包中,通常包含了库的源代码、测试文件、README 文档和示例。通过阅读源代码和文档,你可以了解库的使用方法和实现细节,也可以参与到项目的开发和改进中去。 总结来说,`naive_...

    2022年MathorCup高校数学建模挑战赛赛题.rar

    4. **计算机模拟**:对于某些复杂系统或过程,可以通过编写代码进行计算机模拟,预测系统行为,如蒙特卡洛模拟、仿真技术等。 5. **论文写作与报告呈现**:比赛结果需要以科研论文的形式提交,要求清晰阐述问题、...

    Matlab有限元结构动力学分析(源程序)

    9. **稳定性分析**:源程序可能包含了分析系统稳定性(例如,Aubry-Mather点、边界层稳定性等)的相关功能。 10. **非线性效应**:考虑材料非线性、几何非线性(大变形)和接触问题的处理,这些在实际工程问题中...

    surMather:sur mather网站

    surMather是一个与网站开发相关的项目,其名称可能是“sur Mather”的拼写变体或者是某种特定主题的代称。由于提供的信息有限,我们将主要围绕HTML这一标签来展开讨论,HTML是网页设计的基础,全称为HyperText ...

    carbon-volcanics:和本·马瑟(Ben Mather)

    与本·马瑟(Ben Mather), 从奔编译Petlab_Jun2019_v8_Horomaka.xlsx 。 我编辑并清理了电子表格中的一些年龄数据。 Ben编写了一个脚本,用于生成其他时间相关的网格,然后提供了网格。 所有脚本和网格都可从...

Global site tag (gtag.js) - Google Analytics