我是c#语法的初学者,已经在vb.net中编程了好几年。
ToolStripMenuItem setPriorityDropdown = new ToolStripMenuItem {Text = "Set priority"};
在此代码中,R#警告"设置优先级"是一个可本地化的字符串。 我在网上搜索过,发现要删除警告,你应该在字符串前面使用@,成为@"设置优先级"但是对于这种情况,R#继续告诉我它#s; s本地化。
我无法正确回答为什么字符串不能被本地化,以及为什么R#警告它(在第一眼"一眼就看不到)没有选择它关闭。 为什么
setPriorityDropdown.DropDownItems.Add("Priority 1"...
没有收到警告?
第一个错误是什么?我该如何解决?
答案 0 :(得分:2)
检查this问题的答案以获得解决方案。您的R#设置被设置为忽略逐字字符串并仍然将其报告为可本地化。这意味着R#希望您将“魔术”字符串移动到有助于语言本地化的资源文件中。这样,如果您希望使用其他语言部署应用程序,则可以轻松地在资源文件中定义翻译,而不是搜索整个代码库。在参考为什么使用对象初始化器语法抛出错误而不是Add()方法时,我不确定。可能是R#正在抱怨另一个问题,比如更喜欢使用对象初始化器语法。