gpt4 book ai didi

c# - 为什么 ReSharper 提示这种 ResourceLoader.GetString 的使用?

转载 作者:可可西里 更新时间:2023-11-01 09:15:44 30 4
gpt4 key购买 nike

我有一个 Windows 8 应用程序,我按照描述进行了本地化 in the MSDN .我的资源文件使用默认名称(“Resources.resw”)和位置(“Strings\en-US”等)。

enter image description here

当我通过 ResourceLoader 访问资源时,ReSharper 会报错。示例:

private readonly ResourceLoader _resourceLoader = new ResourceLoader();

private void DoSomething()
{
string s = _resourceLoader.GetString("TestEntry");
}

enter image description here

ReSharper 提示我正在创建一个不明确的引用,因为在多个资源文件中有多个“TestEntry”键。呃。这就是重点。资源管理应该自动使用正确的资源,确实如此。

那么,为什么 ReSharper 会提示?这是 ReSharper 中的错误还是真的有问题?

顺便说一句:ReSharper 建议(以及其他相当无用的东西) 提议将 resource: 放在 key 字符串之前,例如 _resourceLoader.GetString(resource: "TestEntry") (然后提示它是多余的) 。这会使 ReSharper 警告消失。那有什么作用?有进步吗?

编辑:天哪!我以某种方式认为 resource: 是一些特殊的语法,但它只是一个 named method argument ...

最佳答案

不要构建新的 ResourceLoader,而是尝试使用静态 GetForCurrentView() 方法来检索适当的 ResourceLoader。

private readonly ResourceLoader _resourceLoader = ResourceLoader.GetForCurrentView();

private void DoSomething()
{
string s = _resourceLoader.GetString("TestEntry");
}

关于c# - 为什么 ReSharper 提示这种 ResourceLoader.GetString 的使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17472594/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com