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 seine Ressourcen aufgelistet und einzelne Ressourcen anhand des Namens abgerufen werden. Für jede Ressource, die aufgelistet wird, verwendet das Beispiel die IDictionaryEnumerator.Key -Eigenschaft in einem Aufruf der GetString - oder GetObject -Methode, 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 IResourceReaderauf, 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 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 gelesen wurde.

Hinweise für Vererber

Abgeleitete Klassen vonResXResourceSet, die ihren eigenen Ressourcenleser und Writer verwenden, sollten die GetDefaultReader() Methoden und GetDefaultWriter() überschreiben, 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 unter Verwendung 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 Dispose zu vermeiden. Dieser Member ist nicht für die direkte Verwendung im Code vorgesehen.

(Geerbt von ResourceSet)

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.

Gilt für:

Weitere Informationen