ResXResourceSet Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt alle Ressourcen in einer XML-Ressourcendatei (.resx) dar.
public ref class ResXResourceSet : System::Resources::ResourceSet
public class ResXResourceSet : System.Resources.ResourceSet
type ResXResourceSet = class
inherit ResourceSet
Public Class ResXResourceSet
Inherits ResourceSet
- Vererbung
Beispiele
Im folgenden Beispiel wird ein ResXResourceSet Objekt instanziiert und veranschaulicht, wie die Ressourcen aufgelistet und einzelne Ressourcen nach Namen abgerufen werden. Für jede Ressource, die sie aufzählt, verwendet das Beispiel die IDictionaryEnumerator.Key -Eigenschaft in einem Aufruf der GetString
-Methode oder GetObject
, je nachdem, ob der Wert der Ressource eine Zeichenfolge oder ein Objekt ist.
using System;
using System.Collections;
using System.Drawing;
using System.Resources;
public class Example
{
public static void Main()
{
CreateResXFile();
ResXResourceSet resSet = new ResXResourceSet(@".\StoreResources.resx");
IDictionaryEnumerator dict = resSet.GetEnumerator();
while (dict.MoveNext()) {
string key = (string) dict.Key;
// Retrieve resource by name.
if (dict.Value is string)
Console.WriteLine("{0}: {1}", key, resSet.GetString(key));
else
Console.WriteLine("{0}: {1}", key, resSet.GetObject(key));
}
}
private static void CreateResXFile()
{
Bitmap logo = new Bitmap(@".\Logo.bmp");
ResXDataNode node;
ResXResourceWriter rw = new ResXResourceWriter(@".\StoreResources.resx");
node = new ResXDataNode("Logo", logo);
node.Comment = "The corporate logo.";
rw.AddResource(node);
rw.AddResource("AppTitle", "Store Locations");
node = new ResXDataNode("nColumns", 5);
node.Comment = "The number of columns in the Store Location table";
rw.AddResource(node);
rw.AddResource("City", "City");
rw.AddResource("State", "State");
rw.AddResource("Code", "Zip Code");
rw.AddResource("Telephone", "Phone");
rw.Generate();
rw.Close();
}
}
// The example displays the following output:
// Telephone: Phone
// Code: Zip Code
// State: State
// City: City
// nColumns: 5
// AppTitle: Store Locations
// Logo: System.Drawing.Bitmap
Imports System.Collections
Imports System.Drawing
Imports System.Resources
Module Example
Public Sub Main()
CreateResXFile()
Dim resSet As New ResXResourceSet(".\StoreResources.resx")
Dim dict As IDictionaryEnumerator = resSet.GetEnumerator()
Do While dict.MoveNext()
Dim key As String = CStr(dict.Key)
' Retrieve resource by name.
If typeof dict.Value Is String Then
Console.WriteLine("{0}: {1}", key, resSet.GetString(key))
Else
Console.WriteLine("{0}: {1}", key, resSet.GetObject(key))
End If
Loop
End Sub
Private Sub CreateResXFile()
Dim logo As New Bitmap(".\Logo.bmp")
Dim node As ResXDataNode
Dim rw As New ResXResourceWriter(".\StoreResources.resx")
node = New ResXDataNode("Logo", logo)
node.Comment = "The corporate logo."
rw.AddResource(node)
rw.AddResource("AppTitle", "Store Locations")
node = New ResXDataNode("nColumns", 5)
node.Comment = "The number of columns in the Store Location table"
rw.AddResource(node)
rw.AddResource("City", "City")
rw.AddResource("State", "State")
rw.AddResource("Code", "Zip Code")
rw.AddResource("Telephone", "Phone")
rw.Generate()
rw.Close()
End Sub
End Module
' The example displays the following output:
' Telephone: Phone
' Code: Zip Code
' State: State
' City: City
' nColumns: 5
' AppTitle: Store Locations
' Logo: System.Drawing.Bitmap
Im Beispiel wird eine CreateResXFile
Methode aufgerufen, um die erforderliche XML-Ressourcendatei zu erstellen. Es ist eine Bitmapdatei mit dem Namen Logo.bmp in dem Verzeichnis erforderlich, in dem das Beispiel ausgeführt wird.
Hinweise
Wichtig
Das Aufrufen von Methoden aus dieser Klasse mit nicht vertrauenswürdigen Daten stellt ein Sicherheitsrisiko dar. Rufen Sie die Methoden aus dieser Klasse nur mit vertrauenswürdigen Daten auf. Weitere Informationen finden Sie unter Überprüfen aller Eingaben.
Die ResXResourceSet -Klasse listet einen auf IResourceReader, lädt jeden Namen und Wert und speichert sie in einer Hashtabelle. Anschließend können Sie die Ressourcen im ResXResourceSet -Objekt auflisten oder einzelne Ressourcen nach Namen abrufen.
Ein ResXResourceSet -Objekt bietet eine praktische Möglichkeit, alle Ressourcen in einer RESX-Datei in den Arbeitsspeicher zu lesen. Sie können die GetObject -Methode verwenden, um eine bestimmte Ressource abzurufen, wenn die RESX-Datei in eine ResXResourceSet instance eingelesen wurde.
Hinweise für Vererber
Abgeleitete Klassen vonResXResourceSet, die ihren eigenen Ressourcenleser und Writer verwenden, sollten die GetDefaultReader() Methoden und überschreiben, GetDefaultWriter() um die entsprechende Funktionalität für die Interpretation der ResXResourceSet instance bereitzustellen.
Konstruktoren
ResXResourceSet(Stream) |
Initialisiert mit dem als Standard festgelegten ResXResourceSet eine neue Instanz der ResXResourceReader-Klasse, um Ressourcen aus dem angegebenen Stream zu lesen. |
ResXResourceSet(String) |
Initialisiert eine neue instance der ResXResourceSet -Klasse mithilfe des SystemstandardsResXResourceReader, der Ressourcen aus der angegebenen Datei öffnet und liest. |
Felder
Reader |
Gibt den IResourceReader zum Lesen der Ressourcen an. (Geerbt von ResourceSet) |
Table |
Die Hashtable, in der die Ressourcen gespeichert sind. (Geerbt von ResourceSet) |
Methoden
Close() |
Schließt alle von diesem ResourceSet verwendeten Ressourcen und gibt diese frei. (Geerbt von ResourceSet) |
Dispose() |
Gibt die durch die aktuelle Instanz von ResourceSet verwendeten Ressourcen frei, mit Ausnahme des Speichers. (Geerbt von ResourceSet) |
Dispose(Boolean) |
Gibt die der aktuellen Instanz zugeordneten Ressourcen (mit Ausnahme des Speichers) frei und schließt auf Anforderung die intern verwalteten Objekte. (Geerbt von ResourceSet) |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetDefaultReader() |
Gibt die bevorzugte Klasse von Ressourcenreadern für diese Art von ResXResourceSet zurück. |
GetDefaultWriter() |
Gibt die bevorzugte Klasse von Ressourcenwritern für diese Art von ResXResourceSet zurück. |
GetEnumerator() |
Gibt einen IDictionaryEnumerator zurück, der die ResourceSet durchlaufen kann. (Geerbt von ResourceSet) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetObject(String) |
Sucht nach einem Ressourcenobjekt mit dem angegebenen Namen. (Geerbt von ResourceSet) |
GetObject(String, Boolean) |
Sucht auf Anforderung unter Berücksichtigung der Groß- und Kleinschreibung nach einem Ressourcenobjekt mit dem angegebenen Namen. (Geerbt von ResourceSet) |
GetString(String) |
Sucht nach einer String-Ressource mit dem angegebenen Namen. (Geerbt von ResourceSet) |
GetString(String, Boolean) |
Sucht auf Anforderung ohne Berücksichtigung der Groß- und Kleinschreibung nach einer String-Ressource mit dem angegebenen Namen. (Geerbt von ResourceSet) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ReadResources() |
Liest alle Ressourcen und speichert diese in einer Hashtable, die in der Table-Eigenschaft angegeben ist. (Geerbt von ResourceSet) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
IEnumerable.GetEnumerator() |
Gibt ein IEnumerator-Objekt zurück, um eine Racebedingung mit |
Erweiterungsmethoden
Cast<TResult>(IEnumerable) |
Wandelt die Elemente eines IEnumerable in den angegebenen Typ um |
OfType<TResult>(IEnumerable) |
Filtert die Elemente eines IEnumerable anhand eines angegebenen Typs |
AsParallel(IEnumerable) |
Ermöglicht die Parallelisierung einer Abfrage. |
AsQueryable(IEnumerable) |
Konvertiert einen IEnumerable in einen IQueryable. |