当前位置: 首页 > news >正文

j建设局域网网站个体户做网站有用吗

j建设局域网网站,个体户做网站有用吗,安徽六安旅游必去十大景点,青海住房建设网站摘要.NET 中有一套非常完善的地方化系统被定义在 System.Resources 名字空间中。不过大多数人都被 MissingManifestResourceException 这个错误困惑着。本文就是要让大家了解什么是资源文件#xff0c;它有什么用处以及如何正确的调用从而避免一些奇怪的错误…摘要 .NET 中有一套非常完善的地方化系统被定义在 System.Resources 名字空间中。不过大多数人都被 MissingManifestResourceException 这个错误困惑着。本文就是要让大家了解什么是资源文件它有什么用处以及如何正确的调用从而避免一些奇怪的错误包括 MissingManifestResourceException 这个常见错误。 目录 本文来源以及最终目的 什么是资源文件 资源文件类型 调用资源文件的几种方法 如何准确的定义资源文件的逻辑位置 推荐工具 总结 参考信息 关于作者 本文来源以及最终目的 最近作者在新闻组中看到许多有关资源文件的问题而大多数人都有 MissingManifestResourceException 这个非常时髦的错误。所以作者考虑了一下决定不想再让更多的人把时间都浪费在这个问题上了。这就是这篇文章的诞生原因。而最终目的除了让这个问题在新闻组上消失之外还要让大家在 10 分钟内彻底掌握资源的调用从而成为真正的资源高手 什么是资源文件 在 .NET 中准备 World-Ready 程序时需要三步GlobalizationLocalizability 和 Localization。在这第三步的 Localization 中就是使用资源文件最常见的地方。本文不讨论 World-Ready 程序或许以后在另一篇文章中因为程序的逻辑界面需要与资源界面隔离而资源界面就是我们所说的资源文件。顾名思义一个资源文件中当然全是资源不过什么是资源这里所谓的资源就是程序中可利用的数据譬如字符串、图片和任何二进制数据包括任何类型的文件。注意一个资源文件可以有多种语言版本举例一个 Strings.resources 文件可以有英语版、简体中文版、繁体中文版等。 ResourceManager 可以自动根据文件名来确认调用哪个版本。不同的版本只要在文件名中添入区域语言就可以了。比如我们的 Strings.resources 是默认版英语版的可以是 Strings.en-US.resources美国英文简体中文的可以是 Strings.zh-CHS.resources简体中文而繁体中文的就可以是 Strings.zh-CHT.resources繁体中文。所谓的默认版就是当找不到适当的资源版本时用的资源一般都是英文。默认文件应当被嵌入到主 Assembly 中这样就不会发生找不到资源的错误。在 VS.NET 中将一个文件的属性设为 Embedded Resource 可以使资源被嵌入到主 Assembly 中。 资源文件类型 System.Resources 名字空间支持三种资源文件 .txt 文件只能有字符串资源。因为不能被嵌入到 Assembly 中所以很容易暴露被客户修改。最大缺点是仅支持字符串资源所以不推荐使用。 .resx 文件由 XML 组成可以加入任何资源包括二进制。同样不能被嵌入到 Assembly 中。在 System.Resources 名字空间中有专用读写的类。VS.NET 创建这种文件然后将其转成 .resources 文件并根据设置将其嵌入到 Assembly 中。 .resources 文件PE 格式可以加入任何资源。唯一可以被嵌入到 Assembly 的文件在 System.Resources 名字空间中有专用读写的类。 调用资源文件的几种方法 ResourceManager 可以根据不同的 UICulture 设置返回不同的本地资源这与 World-Ready 程序有关在此不讨论我们只需知道调用资源用到它就可以了。接下来让我们看看如何调用每一种 .txt 文件 不可以直接调用得先将其转换成 .resources 文件才能使用。关于如何转换请看推荐工具 .resx 文件 可以用 ResXResourceReader 来做读取但是这种方法不直观不推荐直接调用 .resx 文件。正确的方法是将其转换成 .resources 文件然后用 ResourceManager 作读取工作。注意如果是在 VS.NET 中添加的 .resx 文件那么它们自动被设为 Embedded Resource转成 .resources 文件后被嵌入到 Assembly 中。 .resources 文件 分成两种情况 被嵌入或编译成 Satellite Assembly 用 ResourceManager 的各种 constructor 来获得在 Assembly 中的资源。 单独文件没被编译或嵌入到 Assembly 中 可以用 ResourceManager.CreateFileBasedResourceManager 来获得资源集ResourceSet就是所有的资源。 特殊情况 还有一种特殊情况那就是当你直接嵌入一资源时也就是说不通过一个资源文件而直接将一资源嵌入到 Assembly 中。这可以在 VS.NET 中通过设置一文件的 Build 属性为 Embedded Resource 实现。在这种情况下 ResourceManager 就没有用了因为它只能获取 .resources 资源文件在或不在 Assembly 中。那么如何调用这类的资源呢不难我们需要利用一些 Reflection 中的特征。别怕不是让你再学 Reflection其实我们只要了解一些 System.Reflection.Assembly 这个类中的一些函数就可以了。有三个相关函数不过我们只需要 Assembly.GetManifestResourceStream 这个函数。这个函数将一嵌入到 Assembly 中的资源以 stream 的方式返回而我们可以将这个 stream 转成在 .NET 中可用的对象。比如如果嵌入资源是一图片那么我们可以利用 New Bitmap(Stream) 这个 Bitmap 的 constructor 获得这个图片资源的 Bitmap 对象。 注在这里仅介绍怎样获得不同的资源的方法关于怎样用各个类与函数请参看有关文档。 如何准确的定义资源文件的逻辑位置 我想这是许多人最关注的一段了在这里作者将解说如何正确的填写 ResouceManager(String, Assembly) 这个 constructor还有如何正确的填写 Assembly.GetManifestResourceStream(String)因为它们两个的原理是相同的。看过了上面的描述到了这里就简单多了。这里主要讨论的是怎么填写那个 String。这个 String 就是资源的完整名一个完整名由它的名字空间和文件名前部分BaseName组成。例如如果默认名字空间root namespace是 DefaultNamespace资源文件的名字是 Strings.en-US.resources那么它的完整名就是 DefaultNamespace.Strings。这个很简单不过怎样确定名字空间呢这就有些奇怪了因为 C# 的编译器与 VB.NET 的编译器有些不同。作者在这里分别给出两个编译器怎样给嵌入资源自动添加命名空间 C# 它自动添加 default namespace与 root namespace 相同但也添加子文件夹的名字。例如在 Subfolder 子文件夹下放的资源文件 Strings.en-US.resources它的完整名是 default namespace subfolder base name DefaultNamespace.Subfolder.Strings VB.NET 在 VB.NET 中就很简单了它自动给嵌入资源添加 root namespace。不管你在哪个子文件夹中放置资源文件资源文件的完整名永远是 root namespace base name。 根据上面的描述如果我们使用 C#用 VS.NET 在 NewFolder 这个子文件夹中添加了一个叫 Images.resources 的资源文件那么我们应该用以下代码获取这些资源假设 default namespace 是 MyDefault ResourceManager res new ResourceManager(MyDefault.NewFolder.Images, this.GetType().Assembly); 但如果我们用 VB.NET 的话就应该这样 Dim res As New ResourceManager(MyDefault.Images, Me.GetType().Assembly) 推荐工具 resgen.exeSDK 中的工具专门用来做资源文件类型之间的转换。支持 .txt - .resx - .resources 之间的转换。 Resourcer专门用来创建资源文件简单易用支持 .resx 与 .resources 文件格式。http://www.aisto.com/roeder/dotnet .NET Reflector用来浏览 Assembly。如果你不确定一个资源文件的完整名时可以用这个工具在 Assembly 中查看。http://www.aisto.com/roeder/dotnet 总结 本文中谈及了以下内容 什么是资源 什么是资源文件 .NET 中有哪几类资源文件 如何定义资源文件的逻辑位置 调用资源文件的几种方法 本文通过正确定位资源文件而解决了那个非常时髦的 MissingManifestResourceException。本文给了您一个很丰富资源调用经验。想让您完全了解有关资源文件的任何可能问题当然也会有漏洞。如果有的话希望大家谅解 参考信息 以下是一些文档的链接如果您的帮助是中文的话请在 MSDNVS 后添加.2052 Resource File Generator (Resgen.exe) ms-help://MS.VSCC/MS.MSDNVS/cptools/html/cpgrfresourcefilegeneratorutilityresgenexe.htm Resources in Applications ms-help://MS.VSCC/MS.MSDNVS/cpguide/html/cpconcreatingusingresources.htm Resource Fallback Process ms-help://MS.VSCC/MS.MSDNVS/cpguide/html/cpconpackagingdeployingresources.htm #cpconpackagingdeployingresourcesanchor1 转载于:https://www.cnblogs.com/sw22225458/archive/2008/04/21/1164284.html
http://www.zqtcl.cn/news/296896/

相关文章:

  • 兰州营销型网站建设直播app怎么开发
  • 生成拼贴的网站小程序源码之家
  • 想搭建网站学什么长春市建设局网站
  • 深圳做三网合一网站云主机玩游戏
  • 网站打开慢网站制作多少钱?
  • 网站制作多少钱一个月做教育培训应该注册什么公司
  • 网站价格套餐自己网站上做淘宝搜索引擎
  • 个人博客网站的设计与实现百度信息流投放
  • 廊坊网站关键字优化企业网站系统建设
  • 建设一个网站主要受哪些因素的影响php网站后台教程
  • 做购物网站学什么技术go 网站开发
  • 第一个做电子商务的网站工信部网站 备案
  • 一个完整的网站建设花都有沒有网站建设的
  • 哪个网站有适合小学生做的题目建站工具模板
  • 做家教网站赚钱么网站建设算行政工作吗
  • 网站建设seo网络推广专业的营销团队哪里找
  • 能用的网站关于申请开通网站建设的请示
  • 蓬莱网站建设哪家专业怎么样模仿网站
  • 网站建设有什么好处如何查看网站开发源码
  • 惠州做棋牌网站建设哪家好老域名新网站
  • 机械毕业设计代做网站如何快速模仿一个网站
  • seo网站推广优化就找微源优化网页设计自学要多久
  • 网站资源做缓存国外做饮料视频网站
  • 用asp.net做的购物网站西安手机网站制作
  • wordpress 自定义主题wordpress自带数据库优化
  • 电子商务网站建设与维护的考试用自己的电脑做网站划算
  • 微商招商网站源码wordpress怎么改后台
  • 哪些网站有搜索引擎作弊的社群营销平台有哪些
  • 建地方的网站前景苏州做视频网站广告公司
  • 制作网站的主题海口网站自助建站