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 zugehörigen Ressourcen aufgezählt und einzelne Ressourcen anhand des Namens 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 der Methode, je nachdem, ob es sich bei dem Wert der Ressource um eine Zeichenfolge oder ein Objekt handelt.
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. Sie erfordert eine Bitmapdatei mit dem Namen Logo.bmp im Verzeichnis, in dem das Beispiel ausgeführt wird.
Hinweise
Von Bedeutung
Das Aufrufen von Methoden aus dieser Klasse mit nicht vertrauenswürdigen Daten ist ein Sicherheitsrisiko. 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 alle Namen und Werte auf IResourceReader, lädt jeden Namen und Wert und speichert sie in einer Hashtabelle. Anschließend können Sie die Ressourcen im ResXResourceSet Objekt aufzählen oder einzelne Ressourcen anhand des Namens abrufen.
Ein ResXResourceSet Objekt bietet eine bequeme Möglichkeit, alle Ressourcen in einer RESX-Datei im Arbeitsspeicher zu lesen. Mit der GetObject Methode können Sie eine bestimmte Ressource abrufen, wenn die RESX-Datei in eine ResXResourceSet Instanz gelesen wurde.
Hinweise für Vererber
Abgeleitete Klassen, die ResXResourceSet ihren eigenen Ressourcenleser und Writer verwenden, sollten die GetDefaultReader() und GetDefaultWriter() methoden außer Kraft setzen, um die entsprechende Funktionalität für die Interpretation der ResXResourceSet Instanz bereitzustellen.
Konstruktoren
| Name | Beschreibung |
|---|---|
| ResXResourceSet(Stream) |
Initialisiert eine neue Instanz der ResXResourceSet Klasse mit dem Systemstandard ResXResourceReader zum Lesen von Ressourcen aus dem angegebenen Datenstrom. |
| ResXResourceSet(String) |
Initialisiert eine neue Instanz der ResXResourceSet Klasse mit dem Systemstandard ResXResourceReader , der Ressourcen aus der angegebenen Datei öffnet und liest. |
Felder
| Name | Beschreibung |
|---|---|
| Reader |
Gibt die IResourceReader zum Lesen der Ressourcen verwendeten Ressourcen an. (Geerbt von ResourceSet) |
| Table |
Die Hashtable Ressourcen werden gespeichert. (Geerbt von ResourceSet) |
Methoden
| Name | Beschreibung |
|---|---|
| Close() |
Schließt alle ressourcen, die von diesem ResourceSetverwendet werden, und gibt sie frei. (Geerbt von ResourceSet) |
| Dispose() |
Entfernt die Ressourcen (außer Arbeitsspeicher), die von der aktuellen Instanz von ResourceSet. (Geerbt von ResourceSet) |
| Dispose(Boolean) |
Gibt Ressourcen (außer Arbeitsspeicher) frei, die der aktuellen Instanz zugeordnet sind, und schließt interne verwaltete Objekte bei Bedarf. (Geerbt von ResourceSet) |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetDefaultReader() |
Gibt die bevorzugte Ressourcenleserklasse für diese Art von ResXResourceSet. |
| GetDefaultWriter() |
Gibt die bevorzugte Ressourcenschreiberklasse für diese Art von ResXResourceSet. |
| GetEnumerator() |
Gibt einen IDictionaryEnumerator Wert zurück, der ResourceSetdurchlaufen kann. (Geerbt von ResourceSet) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetObject(String, Boolean) |
Sucht bei Bedarf nach einem Ressourcenobjekt mit dem angegebenen Namen. (Geerbt von ResourceSet) |
| GetObject(String) |
Sucht nach einem Ressourcenobjekt mit dem angegebenen Namen. (Geerbt von ResourceSet) |
| GetString(String, Boolean) |
Sucht bei Bedarf nach einer String Ressource mit dem angegebenen Namen, bei Bedarf wird die Groß-/Kleinschreibung nicht beachtet. (Geerbt von ResourceSet) |
| GetString(String) |
Sucht nach einer String Ressource mit dem angegebenen Namen. (Geerbt von ResourceSet) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ReadResources() |
Liest alle Ressourcen und speichert sie in einer Hashtable in der Table Eigenschaft angegebenen. (Geerbt von ResourceSet) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| IEnumerable.GetEnumerator() |
Gibt ein IEnumerator Objekt zurück, um eine Racebedingung mit |
Erweiterungsmethoden
| Name | Beschreibung |
|---|---|
| AsParallel(IEnumerable) |
Aktiviert die Parallelisierung einer Abfrage. |
| AsQueryable(IEnumerable) |
Wandelt eine IEnumerable in eine IQueryableum. |
| Cast<TResult>(IEnumerable) |
Wandelt die Elemente eines IEnumerable in den angegebenen Typ um. |
| OfType<TResult>(IEnumerable) |
Filtert die Elemente einer IEnumerable basierend auf einem angegebenen Typ. |