Auf Englisch lesen

Teilen über


ResXResourceWriter Klasse

Definition

Schreibt Ressourcen in eine XML-Ressourcendatei (.resx) oder in einen Ausgabestream.

C#
public class ResXResourceWriter : System.Resources.IResourceWriter
C#
public class ResXResourceWriter : IDisposable, System.Resources.IResourceWriter
Vererbung
ResXResourceWriter
Implementiert

Beispiele

Im folgenden Beispiel wird eine RESX-Datei namens CarResources.resx erstellt, die sechs Zeichenfolgen, ein Symbol und zwei anwendungsdefinierte Objekte (zwei Automobile Objekte) speichert. Beachten Sie, dass die Klasse Automobile, die im Beispiel definiert und instanziiert wird, mit dem SerializableAttribute-Attribut gekennzeichnet ist.

C#
using System;
using System.Drawing;
using System.Resources;

[Serializable()] public class Automobile
{
   private string carMake;
   private string carModel;
   private int carYear;
   private int carDoors;
   private int carCylinders;

   public Automobile(string make, string model, int year) :
                     this(make, model, year, 0, 0)
   { }

   public Automobile(string make, string model, int year,
                     int doors, int cylinders)
   {
      this.carMake = make;
      this.carModel = model;
      this.carYear = year;
      this.carDoors = doors;
      this.carCylinders = cylinders;
   }

   public string Make {
      get { return this.carMake; }
   }

   public string Model {
      get {return this.carModel; }
   }

   public int Year {
      get { return this.carYear; }
   }

   public int Doors {
      get { return this.carDoors; }
   }

   public int Cylinders {
      get { return this.carCylinders; }
   }
}

public class Example
{
   public static void Main()
   {
      // Instantiate an Automobile object.
      Automobile car1 = new Automobile("Ford", "Model N", 1906, 0, 4);
      Automobile car2 = new Automobile("Ford", "Model T", 1909, 2, 4);
      // Define a resource file named CarResources.resx.
      using (ResXResourceWriter resx = new ResXResourceWriter(@".\CarResources.resx"))
      {
         resx.AddResource("Title", "Classic American Cars");
         resx.AddResource("HeaderString1", "Make");
         resx.AddResource("HeaderString2", "Model");
         resx.AddResource("HeaderString3", "Year");
         resx.AddResource("HeaderString4", "Doors");
         resx.AddResource("HeaderString5", "Cylinders");
         resx.AddResource("Information", SystemIcons.Information);
         resx.AddResource("EarlyAuto1", car1);
         resx.AddResource("EarlyAuto2", car2);
      }
   }
}

Hinweise

Der ResXResourceWriter schreibt Ressourcen im XML-Format. Verwenden Sie ResourceWriter, um eine binäre Ressourcendatei zu schreiben.

Ressourcen werden mithilfe der AddResource -Methode als Name-Wert-Paare angegeben. Bei Ressourcennamen wird die Groß-/Kleinschreibung beachtet, wenn sie für Nachschlagevorgänge verwendet werden. Aber um Erstellungstools einfacher zu unterstützen und Fehler zu beseitigen, ResXResourceWriter lässt eine RESX-Datei keine Namen zu, die nur je nach Groß-/Kleinschreibung variieren.

Um eine RESX-Datei zu erstellen, erstellen Sie eine ResXResourceWriter mit einem eindeutigen Dateinamen, rufen AddResource Sie mindestens einmal auf, rufen Sie Generate auf, um die Ressourcendatei auf den Datenträger zu schreiben, und rufen Sie dann auf Close , um die Datei zu schließen. Beim Aufrufen Close wird die Datei bei Bedarf implizit Generate angezeigt.

Die Ressourcen werden nicht unbedingt in derselben Reihenfolge geschrieben, in der sie hinzugefügt wurden.

Weitere Informationen zum Format einer RESX-Datei finden Sie unter Programmgesteuertes Arbeiten mit RESX-Dateien.

Hinweis

Diese Klasse enthält eine Linkanforderung und eine Vererbungsanforderung auf Klassenebene, die für alle Member gilt. Ein SecurityException wird ausgelöst, wenn entweder der unmittelbare Aufrufer oder die abgeleitete Klasse über keine voll vertrauenswürdige Berechtigung verfügt.

Konstruktoren

ResXResourceWriter(Stream)

Initialisiert eine neue Instanz der ResXResourceWriter-Klasse, die die Ressourcen in das angegebene Streamobjekt schreibt.

ResXResourceWriter(Stream, Func<Type,String>)

Initialisiert eine neue Instanz der ResXResourceWriter-Klasse, die die Ressourcen in ein angegebenes Streamobjekt schreibt und einen Konverterdelegaten festlegt. Dieser Delegat ermöglicht, dass mithilfe von qualifizierten Assemblynamen Ressourcenassemblys für .NET Framework-Versionen vor .NET Framework 4 geschrieben werden können.

ResXResourceWriter(String)

Initialisiert eine neue Instanz der ResXResourceWriter-Klasse, die die Ressourcen in die angegebene Datei schreibt.

ResXResourceWriter(String, Func<Type,String>)

Initialisiert eine neue Instanz der ResXResourceWriter-Klasse, die die Ressourcen in eine angegebene Datei schreibt, und legt einen Delegaten fest, der ermöglicht, dass mit qualifizierten Assemblynamen Ressourcenassemblys für .NET Framework vor .NET Framework 4 geschrieben werden können.

ResXResourceWriter(TextWriter)

Initialisiert eine neue Instanz der ResXResourceWriter-Klasse, die in das angegebene TextWriter-Objekt schreibt.

ResXResourceWriter(TextWriter, Func<Type,String>)

Initialisiert eine neue Instanz der ResXResourceWriter-Klasse, die die Ressourcen in ein angegebenes TextWriter-Objekt schreibt, und legt einen Delegaten fest, der ermöglicht, dass mit qualifizierten Assemblynamen Ressourcenassemblys für .NET Framework vor .NET Framework 4 geschrieben werden können.

Felder

BinSerializedObjectMimeType

Gibt den Standardinhaltstyp für ein binäres Objekt an. Dieses Feld ist schreibgeschützt.

ByteArraySerializedObjectMimeType

Gibt den Standardinhaltstyp für ein Bytearrayobjekt an. Dieses Feld ist schreibgeschützt.

DefaultSerializedObjectMimeType

Gibt den Standardinhaltstyp für ein Objekt an. Dieses Feld ist schreibgeschützt.

ResMimeType

Gibt den Inhaltstyp einer XML-Ressource an. Dieses Feld ist schreibgeschützt.

ResourceSchema

Gibt das Schema für das Schreiben der XML-Datei an. Dieses Feld ist schreibgeschützt.

SoapSerializedObjectMimeType

Gibt den Inhaltstyp für ein SOAP-Objekt an. Dieses Feld ist schreibgeschützt.

Version

Gibt die Version des Schemas an, dem die XML-Ausgabe entspricht. Dieses Feld ist schreibgeschützt.

Eigenschaften

BasePath

Ruft den Basispfad für den in einem ResXFileRef-Objekt angegebenen relativen Pfad ab oder legt diesen fest.

Methoden

AddAlias(String, AssemblyName)

Fügt den angegebenen Alias einer Liste mit Aliasnamen hinzu.

AddMetadata(String, Byte[])

Fügt der Liste der zu schreibenden Ressourcen eine Entwurfszeiteigenschaft hinzu, deren Wert als Bytearray angegeben ist.

AddMetadata(String, Object)

Fügt der Liste der zu schreibenden Ressourcen eine Entwurfszeiteigenschaft hinzu, deren Wert als ein Objekt angegeben ist.

AddMetadata(String, String)

Fügt der Liste der zu schreibenden Ressourcen eine Entwurfszeiteigenschaft hinzu, deren Wert als eine Zeichenfolge angegeben ist.

AddResource(ResXDataNode)

Fügt der Liste der zu schreibenden Ressourcen eine benannte Ressource hinzu, die in einem ResXDataNode-Objekt angegeben ist.

AddResource(String, Byte[])

Fügt der Liste der zu schreibenden Ressourcen eine benannte Ressource hinzu, die als Bytearray angegeben ist.

AddResource(String, Object)

Fügt der Liste der zu schreibenden Ressourcen eine benannte Ressource hinzu, die als Objekt angegeben ist.

AddResource(String, String)

Fügt den Ressourcen eine Zeichenfolgenressource hinzu.

Close()

Gibt alle vom ResXResourceWriter verwendeten Ressourcen frei.

Dispose()

Gibt alle vom ResXResourceWriter verwendeten Ressourcen frei.

Dispose(Boolean)

Gibt die von ResXResourceWriter verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
Finalize()

Dieser Member überschreibt die Finalize()-Methode.

Generate()

Schreibt alle von der AddResource(String, Byte[])-Methode hinzugefügten Ressourcen in die Ausgabedatei oder den Ausgabestream.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Produkt Versionen
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Weitere Informationen