2015-01-26 158 views
1

我在C#語法初學者,在vb.net被編程了好幾年。本地化的字符串警告R·

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

在此代碼中,R#警告「設置優先級」是可本地化的字符串。 我在網上搜索,發現刪除您的字符串之前,應使用@警告,成爲@「設置優先級」,但是,對於這種情況下,R#繼續告訴我這是本地化的。

我不明白爲什麼一個字符串不應該是本地化的一個合適的回答,爲什麼R·發出警告它(在「第一」一目瞭然)沒有選擇將其關閉。 爲什麼

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

沒有得到警告?

什麼是錯的第一個?我該如何解決它?

回答

2

檢查答案的解決方案this問題。您的R#設置被設置爲忽略逐字字符串,並仍將其報告爲可本地化。這意味着R#希望您將「魔術」字符串移動到資源文件,以幫助進行語言本地化。這樣如果你想以不同的語言部署應用程序,你可以很容易地在資源文件中定義翻譯,而不是搜索整個代碼庫。關於爲什麼使用對象初始值設定語句拋出錯誤而不是Add()方法,我不確定。可能是因爲R#正在抱怨另一個問題,就像您更喜歡使用對象初始化程序語法一樣。

+0

我已經看到了這個問題,太糟糕了,我沒有選中它,我再次檢查它,並@ @「字符串」不再顯示警告。 但是有沒有其他選項的「字符串」沒有@也不給予警告?因爲我不希望在我的應用程序擔心翻譯現在... – SomeNickName 2015-01-27 13:12:23

+2

這可以做得到。在ReSharper菜單上,選擇「選項」。在代碼檢查 - >檢查嚴重性下,選擇C#選項卡。在「潛在的代碼質量問題」下,將「元素可本地化」的下拉列表從「警告」更改爲「不顯示」。 – 2015-01-27 15:01:04

+0

謝謝,剛剛關掉它! – SomeNickName 2015-01-27 16:06:09