• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

Microsoft .NET 框架资源基础

发布: 2009-8-17 10:50 | 作者: 不详 | 来源: 领测软件测试网 | 查看: 114次 | 进入软件测试论坛讨论

领测软件测试网

到写本文时为止,即使空的 .resx 文件也是 42 行 XML,而其中大多数是架构信息。架构允许 .resx 文件中有任意数目的项,每项都有名称、值、注释、类型和 MIME 类型。图 5 显示了有两个项的 .resx 文件,即名为 MyString 的字符串和名为 MyImage 的图像。

winforms02202003-fig05

图 5. 设计器的数据视图中简单的 .resx 文件

遗憾的是,只有字符串项能够在 .resx 编辑器的数据视图中实际进行编辑。任何二进制数据都需要手动直接输入到 XML 中(而且只能是 base64 编码)。因此,直接使用 .resx 文件只对字符串资源有用(尽管间接使用会使 .resx 文件对任何种类的数据都非常有用,我们随后将讨论这一点)。

来自 System.Resources 命名空间的 ResXResourceReader 类将分析 XML 文件,并公开一组命名的、有类型的值。要取得具体的项需要查找它:

using System.Collections;using System.Resources;...public Form1() {  ...  using( ResXResourceReader reader =    new ResXResourceReader(@"Resource1.resx") ) {    foreach( DictionaryEntry entry in reader ) {      if( entry.Key.ToString() == "MyString" ) {        // Set form caption from string resource        this.Text = entry.Value.ToString();      }    }  }}

使用 Add New Item 对话框将 .resx 文件添加到项目中会使该文件作为 Embedded Resource 添加进项目,而编译项目时则会导致 .resx 数据作为嵌套资源 嵌入(“嵌套资源”是分组到命名容器中的资源)。容器的名称与作为资源添加的任何文件相同,只是不使用 .resx 扩展名,使用 .resource 扩展名。假定一个项目的默认命名空间是 ResourcesApp 而 .resx 文件名为 Resources1.resx,则嵌套资源的容器名为 ResourcesApp.Resources1.resx,如图 6 中的 ildasm 所示。

winforms02202003-fig06

图 6. 嵌入的 .resources 文件

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网