Mam aplikację Windows 8, którą lokalizuję zgodnie z opisem in the MSDN. Moje pliki zasobów używają domyślnych nazw ("Resources.resw") i lokalizacji ("Ciągi \ en-US" itd.).Dlaczego ReSharper narzeka na to użycie ResourceLoader.GetString?
Kiedy dostęp do zasobów poprzez ResourceLoader
, następnie ReSharper narzeka. Przykład:
private readonly ResourceLoader _resourceLoader = new ResourceLoader();
private void DoSomething()
{
string s = _resourceLoader.GetString("TestEntry");
}
ReSharper narzeka, że tworzę niejednoznaczne odniesienia, ponieważ istnieje kilka „TestEntry” klucze w kilku plików zasobów. Duh. O to chodzi. Zarządzanie zasobami powinno automatycznie korzystać z właściwego zasobu i rzeczywiście.
Dlaczego więc ReSharper narzeka? Czy jest to błąd w ReSharper lub jest tam naprawdę coś nie tak?
Przy okazji: ReSharper
zaleca (między innymi dość bezużyteczne rzeczy)
ofert umieścić resource:
przed kluczowym ciągiem, jak _resourceLoader.GetString(resource: "TestEntry")
(a potem narzeka, że jest zbędny)
. Powoduje to zniknięcie ostrzeżenia ReSharper. Co to oznacza? Czy to jest poprawa?
Edytuj: Oh my! I jakoś myślałem resource:
jest jakaś specjalna składnia, ale to tylko named method argument ...
'ReSharper zaleca ... a następnie narzeka, że jest zbędny" Zaczynam myśleć, że Resharper wygląda bardzo podobnie do mojej dziewczyny. –
"ReSharper zaleca (między innymi dość bezużyteczne rzeczy), aby umieścić zasób: przed kluczowym ciągiem" - nie. Zachowaj ostrożność, aby odróżnić Szybkie poprawki ReSharpera (http://www.jetbrains.com/resharper/features/code_analysis.html#Quick-Fixes) i [Akcje kontekstowe] (http://www.jetbrains.com/resharper /features/coding_assistance.html#Context_Actions) – AakashM
@AakashM: Ups. Tak masz rację. Odpowiednio zredagowałem moje pytanie. –