Udostępnij za pośrednictwem


ResXResourceWriter Klasa

Definicja

Zapisuje zasoby w pliku zasobu XML (resx) lub strumieniu wyjściowego.

public ref class ResXResourceWriter : System::Resources::IResourceWriter
public ref class ResXResourceWriter : IDisposable, System::Resources::IResourceWriter
public class ResXResourceWriter : System.Resources.IResourceWriter
public class ResXResourceWriter : IDisposable, System.Resources.IResourceWriter
type ResXResourceWriter = class
    interface IResourceWriter
    interface IDisposable
Public Class ResXResourceWriter
Implements IResourceWriter
Public Class ResXResourceWriter
Implements IDisposable, IResourceWriter
Dziedziczenie
ResXResourceWriter
Implementuje

Przykłady

Poniższy przykład tworzy plik resx o nazwie CarResources.resx , który przechowuje sześć ciągów, ikonę i dwa obiekty zdefiniowane przez aplikację (dwa Automobile obiekty). Należy pamiętać, że Automobile klasa, która jest zdefiniowana i utworzona w przykładzie, jest oznaczona atrybutem SerializableAttribute .

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);
      }
   }
}
Imports System.Drawing
Imports System.Resources

<Serializable()> Public Class Automobile
   Private carMake As String
   Private carModel As String
   Private carYear As Integer
   Private carDoors AS Integer
   Private carCylinders As Integer
   
   Public Sub New(make As String, model As String, year As Integer) 
      Me.New(make, model, year, 0, 0)   
   End Sub
   
   Public Sub New(make As String, model As String, year As Integer, 
                  doors As Integer, cylinders As Integer)
      Me.carMake = make
      Me.carModel = model
      Me.carYear = year
      Me.carDoors = doors
      Me.carCylinders = cylinders
   End Sub

   Public ReadOnly Property Make As String
      Get
         Return Me.carMake
      End Get   
   End Property       
   
   Public ReadOnly Property Model As String
      Get
         Return Me.carModel
      End Get   
   End Property       
   
   Public ReadOnly Property Year As Integer
      Get
         Return Me.carYear
      End Get   
   End Property       
   
   Public ReadOnly Property Doors As Integer
      Get
         Return Me.carDoors
      End Get   
   End Property       
   
   Public ReadOnly Property Cylinders As Integer
      Get
         Return Me.carCylinders
      End Get   
   End Property       
End Class

Module Example
   Public Sub Main()
      ' Instantiate an Automobile object.
      Dim car1 As New Automobile("Ford", "Model N", 1906, 0, 4)
      Dim car2 As New Automobile("Ford", "Model T", 1909, 2, 4)
      ' Define a resource file named CarResources.resx.
      Using resx As 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)  
      End Using
   End Sub
End Module

Uwagi

Zapisuje ResXResourceWriter zasoby w formacie XML. Aby napisać plik zasobu binarnego, użyj polecenia ResourceWriter.

Zasoby są określane jako pary nazwa/wartość przy użyciu AddResource metody . W nazwach zasobów jest uwzględniana wielkość liter, gdy są używane do wyszukiwania; ale aby łatwiej obsługiwać narzędzia do tworzenia i pomóc wyeliminować błędy, ResXResourceWriter nie zezwala na plik resx mieć nazwy, które różnią się tylko wielkością liter.

Aby utworzyć plik a.resx, utwórz obiekt ResXResourceWriter o unikatowej nazwie pliku, wywołaj co najmniej raz, wywołaj AddResource polecenie Generate , aby zapisać plik zasobów na dysku, a następnie wywołaj Close polecenie , aby zamknąć plik. Wywołanie Close będzie niejawnie Generate plik, jeśli jest to wymagane.

Zasoby nie muszą być zapisywane w tej samej kolejności, w której zostały dodane.

Aby uzyskać więcej informacji na temat formatu pliku resx, zobacz Praca z plikami resx programowo.

Uwaga

Ta klasa zawiera żądanie łącza i dziedziczenia na poziomie klasy stosowane do wszystkich składowych. Obiekt SecurityException jest zgłaszany, gdy bezpośredni obiekt wywołujący lub klasa pochodna nie ma uprawnienia pełnego zaufania.

Konstruktory

ResXResourceWriter(Stream)

Inicjuje ResXResourceWriter nowe wystąpienie klasy, która zapisuje zasoby w określonym obiekcie strumienia.

ResXResourceWriter(Stream, Func<Type,String>)

Inicjuje ResXResourceWriter nowe wystąpienie klasy, która zapisuje zasoby w określonym obiekcie strumienia i ustawia delegata konwertera. Ten delegat umożliwia zapisanie zestawów zasobów, które są przeznaczone dla wersji .NET Framework przed .NET Framework 4 przy użyciu kwalifikowanych nazw zestawów.

ResXResourceWriter(String)

Inicjuje ResXResourceWriter nowe wystąpienie klasy, która zapisuje zasoby w określonym pliku.

ResXResourceWriter(String, Func<Type,String>)

Inicjuje nowe wystąpienie ResXResourceWriter klasy, która zapisuje zasoby w określonym pliku i ustawia delegata, który umożliwia zapisanie zestawów zasobów, które są przeznaczone dla wersji .NET Framework przed .NET Framework 4 przy użyciu kwalifikowanych nazw zestawów.

ResXResourceWriter(TextWriter)

Inicjuje ResXResourceWriter nowe wystąpienie klasy, która zapisuje w określonym TextWriter obiekcie.

ResXResourceWriter(TextWriter, Func<Type,String>)

Inicjuje nowe wystąpienie ResXResourceWriter klasy, która zapisuje zasoby do określonego TextWriter obiektu i ustawia delegata, który umożliwia zapisywanie zestawów zasobów, które są przeznaczone dla wersji .NET Framework przed .NET Framework 4 przy użyciu kwalifikowanych nazw zestawów.

Pola

BinSerializedObjectMimeType

Określa domyślny typ zawartości dla obiektu binarnego. To pole jest tylko do odczytu.

ByteArraySerializedObjectMimeType

Określa domyślny typ zawartości dla obiektu tablicy bajtów. To pole jest tylko do odczytu.

DefaultSerializedObjectMimeType

Określa domyślny typ zawartości dla obiektu. To pole jest tylko do odczytu.

ResMimeType

Określa typ zawartości zasobu XML. To pole jest tylko do odczytu.

ResourceSchema

Określa schemat do użycia w zapisie pliku XML. To pole jest tylko do odczytu.

SoapSerializedObjectMimeType

Określa typ zawartości obiektu SOAP. To pole jest tylko do odczytu.

Version

Określa wersję schematu, z którą są zgodne dane wyjściowe XML. To pole jest tylko do odczytu.

Właściwości

BasePath

Pobiera lub ustawia ścieżkę podstawową dla względnej ścieżki pliku określonej w ResXFileRef obiekcie.

Metody

AddAlias(String, AssemblyName)

Dodaje określony alias do listy aliasów.

AddMetadata(String, Byte[])

Dodaje właściwość czasu projektowania, której wartość jest określona jako tablica bajtów do listy zasobów do zapisu.

AddMetadata(String, Object)

Dodaje właściwość czasu projektowania, której wartość jest określona jako obiekt do listy zasobów do zapisania.

AddMetadata(String, String)

Dodaje właściwość czasu projektowania, której wartość jest określona jako ciąg do listy zasobów do zapisania.

AddResource(ResXDataNode)

Dodaje nazwany zasób określony w ResXDataNode obiekcie do listy zasobów do zapisu.

AddResource(String, Byte[])

Dodaje nazwany zasób określony jako tablica bajtów do listy zasobów do zapisu.

AddResource(String, Object)

Dodaje nazwany zasób określony jako obiekt do listy zasobów do zapisu.

AddResource(String, String)

Dodaje zasób ciągu do zasobów.

Close()

Zwalnia wszelkie zasoby używane przez element ResXResourceWriter.

Dispose()

Zwalnia wszelkie zasoby używane przez element ResXResourceWriter.

Dispose(Boolean)

Zwalnia zasoby niezarządzane używane przez element ResXResourceWriter i opcjonalnie zwalnia zasoby zarządzane.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
Finalize()

Ten element członkowski zastępuje metodę Finalize() .

Generate()

Zapisuje wszystkie zasoby dodane przez metodę AddResource(String, Byte[]) do pliku wyjściowego lub strumienia.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Zobacz też