我有一个多语言的应用程序。我为此使用了开箱即用的 .Net 功能。每种语言在 App_GlobalResources 中都有自己的文件(参见下面的 iamge)
在代码后面有什么更好的?
- GetGlobalResourceObject("LocalizedText", "ErrorOccured")
- Resources.LocalizedText.ErrorOccured
第二个使用更少的代码并且它是类型安全的,它会在编译时而不是运行时返回错误。
我有一个多语言的应用程序。我为此使用了开箱即用的 .Net 功能。每种语言在 App_GlobalResources 中都有自己的文件(参见下面的 iamge)
在代码后面有什么更好的?
第二个使用更少的代码并且它是类型安全的,它会在编译时而不是运行时返回错误。
这些是每种方法的优点:
GetGlobalResourceObject
(和GetLocalResourceObject
)的优点:
强类型 RESX 类型的优点:
因此,与许多“哪个是最好的”问题一样,答案是:视情况而定!选择最有利于您的特定场景的优势。
因此,如果您预先知道资源文件和密钥是什么,请使用第二个。
GetGlobalResourceObject()
如果您不知道资源文件或(更有可能)密钥在编译时将是什么,则该方法很有用。