ResXResourceWriter Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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) |