ResXResourceWriter Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Scrive le risorse in un file di risorse XML (resx) o in un flusso di output.
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
- Ereditarietà
-
ResXResourceWriter
- Implementazioni
Esempio
Nell'esempio seguente viene creato un file resx denominato CarResources.resx
che archivia sei stringhe, un'icona e due oggetti definiti dall'applicazione (due Automobile
oggetti). Si noti che la classe Automobile
, che viene definita e di cui viene creata un'istanza nell'esempio, è contrassegnata con l'attributo 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
Commenti
Scrive ResXResourceWriter le risorse in formato XML. Per scrivere un file di risorse binarie, usare ResourceWriter.
Le risorse vengono specificate come coppie nome/valore usando il AddResource metodo . I nomi delle risorse fanno distinzione tra maiuscole e minuscole quando vengono usati per le ricerche; ma per supportare più facilmente gli strumenti di creazione e per eliminare i bug, ResXResourceWriter non consente a un file con estensione resx di avere nomi che variano solo per caso.
Per creare un file con estensione resx, creare un ResXResourceWriter oggetto con un nome file univoco, chiamare AddResource almeno una volta, chiamare Generate per scrivere il file di risorse su disco e quindi chiamare Close per chiudere il file. Se necessario, la chiamata Close al file verrà eseguita in modo Generate implicito.
Le risorse non vengono necessariamente scritte nello stesso ordine in cui sono state aggiunte.
Per altre informazioni sul formato di un file con estensione resx, vedere Uso di file resx a livello di codice.
Nota
Questa classe contiene una richiesta di collegamento e una richiesta di ereditarietà a livello di classe che si applica a tutti i membri. Viene SecurityException generata un'eccezione quando il chiamante immediato o la classe derivata non dispone dell'autorizzazione di attendibilità totale.
Costruttori
ResXResourceWriter(Stream) |
Inizializza una nuova istanza della classe ResXResourceWriter che scrive le risorse nell'oggetto di flusso specificato. |
ResXResourceWriter(Stream, Func<Type,String>) |
Inizializza una nuova istanza della classe ResXResourceWriter che scrive le risorse in un oggetto di flusso specificato e imposta un delegato convertitore. Questo delegato consente la scrittura di assembly di risorse per le versioni di .NET Framework antecedenti a .NET Framework 4 usando nomi di assembly completi. |
ResXResourceWriter(String) |
Inizializza una nuova istanza della classe ResXResourceWriter che scrive le risorse nel file specificato. |
ResXResourceWriter(String, Func<Type,String>) |
Inizializza una nuova istanza della classe ResXResourceWriter che scrive le risorse in un file specificato e imposta un delegato che consente la scrittura di assembly di risorse per le versioni di .NET Framework antecedenti a .NET Framework 4 usando nomi di assembly completi. |
ResXResourceWriter(TextWriter) |
Inizializza una nuova istanza della classe ResXResourceWriter che scrive nell'oggetto TextWriter specificato. |
ResXResourceWriter(TextWriter, Func<Type,String>) |
Inizializza una nuova istanza della classe ResXResourceWriter che scrive le risorse in un oggetto TextWriter specificato e imposta un delegato che consente la scrittura di assembly di risorse per le versioni di .NET Framework antecedenti a .NET Framework 4 usando nomi di assembly completi. |
Campi
BinSerializedObjectMimeType |
Specifica il tipo di contenuto predefinito per un oggetto binario. Questo campo è di sola lettura. |
ByteArraySerializedObjectMimeType |
Specifica il tipo di contenuto predefinito per un oggetto matrice di byte. Questo campo è di sola lettura. |
DefaultSerializedObjectMimeType |
Specifica il tipo di contenuto predefinito per un oggetto. Questo campo è di sola lettura. |
ResMimeType |
Specifica il tipo di contenuto di una risorsa XML. Questo campo è di sola lettura. |
ResourceSchema |
Specifica lo schema da utilizzare durante la scritture del file XML. Questo campo è di sola lettura. |
SoapSerializedObjectMimeType |
Specifica il tipo di contenuto di un oggetto SOAP. Questo campo è di sola lettura. |
Version |
Specifica la versione dello schema cui si conforma l'output XML. Questo campo è di sola lettura. |
Proprietà
BasePath |
Ottiene o imposta il percorso di base per il percorso di file relativo specificato in un oggetto ResXFileRef. |
Metodi
AddAlias(String, AssemblyName) |
Aggiunge l'alias specificato all'elenco di alias. |
AddMetadata(String, Byte[]) |
Aggiunge all'elenco di risorse da scrivere una proprietà in fase di progettazione il cui valore è specificato come matrice di byte. |
AddMetadata(String, Object) |
Aggiunge all'elenco di risorse da scrivere una proprietà in fase di progettazione il cui valore è specificato come oggetto. |
AddMetadata(String, String) |
Aggiunge all'elenco di risorse da scrivere una proprietà in fase di progettazione il cui valore è specificato come stringa. |
AddResource(ResXDataNode) |
Aggiunge all'elenco di risorse da scrivere una risorsa denominata specificata in un oggetto ResXDataNode. |
AddResource(String, Byte[]) |
Aggiunge all'elenco di risorse da scrivere una risorsa denominata specificata come matrice di byte. |
AddResource(String, Object) |
Aggiunge all'elenco di risorse da scrivere una risorsa denominata specificata come oggetto. |
AddResource(String, String) |
Aggiunge una risorsa di stringa alle risorse. |
Close() |
Rilascia tutte le risorse usate da ResXResourceWriter. |
Dispose() |
Rilascia tutte le risorse usate da ResXResourceWriter. |
Dispose(Boolean) |
Rilascia le risorse non gestite usate da ResXResourceWriter e, facoltativamente, le risorse gestite. |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
Finalize() |
Questo metodo esegue l'override del metodo Finalize(). |
Generate() |
Scrive tutte le risorse aggiunte dal metodo AddResource(String, Byte[]) nel flusso o nel file di output. |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |