本地化字符串警告 R#

Localizable string warning R#

我是 c# 语法的初学者,使用 vb.net 编程已经有好几年了。

ToolStripMenuItem setPriorityDropdown = new ToolStripMenuItem {Text = "Set priority"};

在此代码中,R# 警告说 "Set priority" 是可本地化的字符串。 我在网上搜索过,发现要删除警告,您应该在字符串前使用 @,变成 @"Set priority",但是对于这种情况,R# 继续告诉我它是可本地化的。

我无法正确回答为什么字符串不应该本地化,以及为什么 R# 警告它(在 "first" 一目了然)没有关闭它的选项。 为什么

setPriorityDropdown.DropDownItems.Add("Priority 1"... 

没有收到警告?

第一个有什么问题?我该如何解决?

检查 this 问题的答案以获得解决方案。您的 R# 设置设置为忽略逐字字符串并仍然将它们报告为可本地化。这意味着 R# 希望您将 "magic" 字符串移动到有助于语言本地化的资源文件中。这样一来,如果您想以不同的语言部署您的应用程序,您可以轻松地在资源文件中定义翻译,而不用搜索整个代码库。关于为什么使用对象初始值设定项语法会抛出错误而不是 Add() 方法,我不确定。可能是 R# 正在抱怨另一个问题,比如更喜欢使用对象初始化语法。