为什么 Resharper 在这里给我一个 'Localizable Interpolated String' 提示?
Why does Resharper give me a 'Localizable Interpolated String' hint here?
我将 VS 2015 与 Resharper Ultimate 一起用于 Win Forms 应用程序,并且正在做一些简单的事情,例如设置按钮的文本 属性,当我看到字符串下方的蓝色波浪线时。
单击它会将语句转换为我在有问题的语句下方重新键入的语句,并且没有蓝色波浪线。请注意,它有逐字和插值运算符。
此外,仅通过插值将同一字符串设置为另一个字符串似乎也能正常工作。此字符串中没有要转义的字符。这里发生了什么?
您正在将 UI 元素的文本设置为字符串,UI 应该进行本地化。
另一方面,插值等同于使用默认格式提供程序调用 string.Format
。
假定 UI 元素将从资源中填充,并且它们将使用特定的文化进行格式化。这就是为什么 ReSharper 对字符串插值的这种特殊用途很敏感。
您所说的将不同的字符串设置为内插字符串,然后将其分配给 UI 元素,您只是在 ReSharper 上耍花招。无法推断您已将 UI 元素分配给未本地化的字符串,但问题仍然存在。
至于逐字字符串:取消选中 "ReSharper | Options | Code Editing | C# | Localization | Don't analyse verbatim string" 复选框,然后 ReSharper 也会向您显示此类针对逐字字符串的建议。
至于为什么WinForms 属性显示波浪线而字符串不显示:请参考a webhelp article关于"Localizable inspector" 属性。如果您还想获得所有字符串的建议,您需要将 "Localizable inspector" 值更改为 "Pessimistic"
我将 VS 2015 与 Resharper Ultimate 一起用于 Win Forms 应用程序,并且正在做一些简单的事情,例如设置按钮的文本 属性,当我看到字符串下方的蓝色波浪线时。
单击它会将语句转换为我在有问题的语句下方重新键入的语句,并且没有蓝色波浪线。请注意,它有逐字和插值运算符。
此外,仅通过插值将同一字符串设置为另一个字符串似乎也能正常工作。此字符串中没有要转义的字符。这里发生了什么?
您正在将 UI 元素的文本设置为字符串,UI 应该进行本地化。
另一方面,插值等同于使用默认格式提供程序调用 string.Format
。
假定 UI 元素将从资源中填充,并且它们将使用特定的文化进行格式化。这就是为什么 ReSharper 对字符串插值的这种特殊用途很敏感。
您所说的将不同的字符串设置为内插字符串,然后将其分配给 UI 元素,您只是在 ReSharper 上耍花招。无法推断您已将 UI 元素分配给未本地化的字符串,但问题仍然存在。
至于逐字字符串:取消选中 "ReSharper | Options | Code Editing | C# | Localization | Don't analyse verbatim string" 复选框,然后 ReSharper 也会向您显示此类针对逐字字符串的建议。
至于为什么WinForms 属性显示波浪线而字符串不显示:请参考a webhelp article关于"Localizable inspector" 属性。如果您还想获得所有字符串的建议,您需要将 "Localizable inspector" 值更改为 "Pessimistic"