Seb*_*zus 10 c# resharper localization embedded-resource windows-store-apps
我有一个Windows 8应用程序,我按照MSDN中的描述进行本地化.我的资源文件使用默认名称("Resources.resw")和位置("Strings\en-US"等).

当我访问资源时ResourceLoader,ReSharper会抱怨.例:
private readonly ResourceLoader _resourceLoader = new ResourceLoader();
private void DoSomething()
{
string s = _resourceLoader.GetString("TestEntry");
}
Run Code Online (Sandbox Code Playgroud)

ReSharper抱怨我正在创建一个模糊的引用,因为在几个资源文件中有几个"TestEntry"键.咄.这就是重点.资源管理应该自动使用正确的资源,确实如此.
那么,为什么ReSharper抱怨?它是在ReSharper的一个bug或者是有真的出问题了吗?
顺便说一句:ReSharper 建议(在其他相当无用的东西之外)提供放在resource:密钥字符串之前,_resourceLoader.GetString(resource: "TestEntry") (然后抱怨它是多余的).这使得ReSharper警告消失.那是做什么的?这是改进吗?
编辑:哦,我的!我不知何故认为resource:是一些特殊的语法,但它只是一个命名的方法参数 ...
不要构造新的 ResourceLoader,而是尝试使用静态 GetForCurrentView() 方法来检索适当的 ResourceLoader。
private readonly ResourceLoader _resourceLoader = ResourceLoader.GetForCurrentView();
private void DoSomething()
{
string s = _resourceLoader.GetString("TestEntry");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
894 次 |
| 最近记录: |