asp.net - GetGlobalResourceObject 或 Resources.Resource - 哪个更好?

标签 asp.net globalization culture cultureinfo

我有一个多语言的应用程序。我为此使用了开箱即用的 .Net 功能。每种语言在 App_GlobalResources 中都有自己的文件(参见下面的 iamge)

在代码后面有什么更好的?

  • GetGlobalResourceObject("LocalizedText", "ErrorOccured")
  • Resources.LocalizedText.ErrorOccured

  • 第二个使用更少的代码并且它是类型安全的,它会在编译时而不是运行时返回错误。

    alt text http://img340.imageshack.us/img340/5562/langl.gif

    最佳答案

    这些是每种方法的优点:
    GetGlobalResourceObject的优势| (和 GetLocalResourceObject ):

  • 您可以指定特定的文化而不是使用 CurrentCulture。
  • 您可以使用后期绑定(bind)表达式(即字符串)来决定要加载哪个资源。如果您无法提前知道需要加载哪个资源,这将非常有用。
  • 它适用于任何资源提供者类型。例如,它不仅适用于内置的默认基于 RESX 的提供程序,而且它也适用于基于数据库的提供程序。

  • 强类型 RESX 类型的优点:
  • 如果您访问不存在的资源,则会出现编译时错误。
  • 您在项目工作时获得 Intellisense。

  • 因此,与许多“哪个是最好的”问题一样,答案是:视情况而定!选择最有利于您的特定场景的优势。

    关于asp.net - GetGlobalResourceObject 或 Resources.Resource - 哪个更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1883120/

    相关文章:

    Javascript:函数内的全局变量

    javascript - window.navigator.userLanguage || 的结果是什么window.navigator.language 如果我在罗马尼亚的浏览器上运行它

    wpf - 在转换器 wpf 中将 double.NaN 转换为相关区域性

    jquery - Asp.Net 中的 Bootstrap 3 数据表样式以某种方式被覆盖

    asp.net - Microsoft 是否计划从 MVC 中删除 MasterPages?

    c# - 将大量 xml 数据写入文件的最佳方法?

    c# - 简单的 ResourceManager 示例在单元测试中不起作用

    asp.net - 如何为部署到 aws elastic beanstalk 的 ASP.NET 应用程序设置应用程序池身份

    ruby-on-rails - 如何验证翻译后的数据?

    c# - 通过指定区域性名称设置日期格式yyyyMMdd