Ho un'applicazione Windows 8 che localizzo come descritto in the MSDN. I miei file di risorse utilizzano i nomi predefiniti ("Resources.resw") e le posizioni ("Strings \ en-US" ecc.).Perché ReSharper si lamenta di questo utilizzo di ResourceLoader.GetString?
Quando accedo le risorse tramite ResourceLoader
, quindi ReSharper si lamenta. Esempio:
private readonly ResourceLoader _resourceLoader = new ResourceLoader();
private void DoSomething()
{
string s = _resourceLoader.GetString("TestEntry");
}
ReSharper lamenta che sto creando un riferimento ambiguo, perché ci sono diversi tasti "TestEntry" in diversi file di risorse. Duh. Questo è il punto. La gestione delle risorse dovrebbe utilizzare automaticamente la risorsa corretta, e lo fa davvero.
Quindi, perché ReSharper si lamenta? È un bug in ReSharper o è lì davvero qualcosa non va?
A proposito: ReSharper
consiglia (tra le altre cose abbastanza inutili)
offerte di mettere resource:
prima della stringa chiave, come _resourceLoader.GetString(resource: "TestEntry")
(e poi si lamenta che è ridondante)
. Questo fa scomparire l'avviso di ReSharper. Cosa fa? È un miglioramento?
Modifica: Oh mio! In qualche modo ho pensato resource:
è una certa sintassi speciale, ma è solo un named method argument ...
'ReSharper consiglia ... e poi si lamenta che è ridondante' Sto iniziando a pensare che Resharper assomigli molto alla mia ragazza. –
"ReSharper consiglia (tra le altre cose abbastanza inutili) di mettere la risorsa: prima della stringa di chiavi" - no. Fare attenzione a distinguere tra [Correzioni rapide] (http://www.jetbrains.com/resharper/features/code_analysis.html#Quick-Fixes) e [Azioni contestuali] di ReSharper (http://www.jetbrains.com/resharper). /features/coding_assistance.html#Context_Actions) – AakashM
@AakashM: Oops. Si hai ragione. Ho modificato la mia domanda di conseguenza. –