我有一个本地化的 Windows 8 应用程序,如MSDN 中所述。我的资源文件使用默认名称(“Resources.resw”)和位置(“Strings\en-US”等)。
当我通过 访问资源时ResourceLoader
,ReSharper 会抱怨。例子:
private readonly ResourceLoader _resourceLoader = new ResourceLoader();
private void DoSomething()
{
string s = _resourceLoader.GetString("TestEntry");
}
ReSharper 抱怨说我创建了一个模棱两可的引用,因为在几个资源文件中有几个“TestEntry”键。呃。这就是重点。资源管理应该自动使用正确的资源,而且确实如此。
那么,为什么 ReSharper 会抱怨呢?这是 ReSharper 中的错误还是真的有问题?
顺便说一句:ReSharper建议(以及其他相当无用的东西)将 offer放在resource:
键字符串之前,例如_resourceLoader.GetString(resource: "TestEntry")
(然后抱怨它是多余的)。这会使 ReSharper 警告消失。那有什么作用?是改进吗?
编辑:天哪!我不知何故认为resource:
是一些特殊的语法,但它只是一个命名方法参数......