Freigeben über


ResXResourceSet Klasse

Definition

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
ResXResourceSet

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 Dispose. Dieses Element soll nicht direkt aus Ihrem Code verwendet werden.

(Geerbt von ResourceSet)

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.

Gilt für:

Weitere Informationen