Was sind die Vorteile von Ressourcendateien (.resx)?


77

Welche zwingenden Gründe gibt es für ihre Verwendung?


9
Wenn Sie noch nie eine Resx-Datei verwendet haben, aber über eigene Zeichenfolgentabellen und dergleichen verfügen (oder schlimmer noch, Zeichenfolgen, die über den gesamten Code verteilt sind, alle lokal definiert) und keinen Grund gesehen haben, diesen Ansatz zu ändern, ist dies ein legitime Frage.
mmr

8
Ich habe noch nie Resx verwendet. Das ist der Grund für die Frage.
Neuling

Antworten:


88
  • Ressourcendateien bieten Ihnen eine einfache Möglichkeit, Ihre .net-Anwendungen zu lokalisieren / zu internationalisieren, indem Sie anhand des Gebietsschemas des Benutzers automatisch bestimmen, welche Sprach-Resx-Datei verwendet werden soll. Um weitere Sprachen hinzuzufügen, fügen Sie einfach eine weitere übersetzte Ressourcendatei hinzu.

  • Ressourcendateien bieten Ihnen einen zentralen Ort, an dem Sie Ihre Zeichenfolgen, Dateien und Skripte speichern und stark typisiert darauf verweisen können (sodass die Kompilierung unterbrochen wird, wenn Sie sie nicht ordnungsgemäß referenzieren).

  • Ressourcendateien können zu Satelliten-Assemblys kompiliert werden, sodass die Ressourcen in einer Produktionsanwendung einfach geändert werden können, ohne dass das Ganze neu kompiliert werden muss.


29

Als Ergänzung zu den anderen Antworten beziehen sich Zeichenfolgenressourcen auf lesbaren Text und nicht auf Konstanten, die programmgesteuert verwendet werden. Sie eignen sich hervorragend für Fehlermeldungen, Schaltflächenbeschriftungen und dergleichen.

Sehr oft speichern wir anstelle der endgültigen Zeichenfolge eine Formatzeichenfolge, damit Variablen im letzten Moment ersetzt werden können. Das Schöne an dieser Methode ist, dass sie im Gegensatz zur Verkettung nicht beschädigt wird, wenn eine Sprache andere Anforderungen an die Wortreihenfolge hat.


1
+1 dafür in der Tat! Obwohl es immer noch Drachen gibt; zB wo Englisch "eins" und "viele" hat, hat Slowenisch zB "eins", "wenige" und "viele".
Cornelius

1
Es ist eine nervige Umleitung in eine separate "res" -Datei, wenn jemand auf eine formatierte Zeichenfolge zur Protokollierung verweist.
Jmoney38

13

Mit resx können Sie eine pro Sprache (dh gesprochene Sprache, keine Programmiersprache) verwenden, sodass Ihr Programm / System mehrsprachig ist.


14
Ja - die Welt spricht NICHT nur Englisch!
marc_s

Gibt es ein Tutorial, wie man das mit einem einfachen Beispiel macht?
KansaiRobot

13

Mit Ressourcendateien können Sie den Text / die Grafiken ändern, die Ihr Programm anzeigt, ohne den Code des Programms selbst zu bearbeiten. Aus vielen Gründen wird es oft als ideal angesehen, den Quellcode Ihres Programms nicht bearbeiten zu müssen, um Änderungen vorzunehmen, die nicht Teil der Logik Ihrer Anwendung sind.


3

Zusätzlich zu den obigen Antworten können Ressourcendateien auch einen Speicherort für Testdateien zum Durchführen von Lese- / Schreibtests bieten. Auf diese Weise können Sie unabhängig von der Einrichtung der Umgebung anderer Personen Protokolle oder andere Dateien speichern.

Beachten Sie, dass die Dateien, die Sie in Ressourcen ablegen, serialisierbar sein müssen. Überprüfen Sie unten für weitere Informationen:

https://msdn.microsoft.com/en-us/library/f45fce5x(v=vs.80).aspx

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.