ResXResourceWriter Classe

Definizione

Scrive le risorse in un file di risorse XML (con estensione 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 Automobile classe, definita e creata un'istanza nell'esempio, viene 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 almeno una volta, chiamare AddResource per scrivere il file di risorse su disco e quindi chiamare GenerateClose per chiudere il file. Se necessario, la chiamata Close in modo Generate implicito al file.

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 Utilizzo di file resx a livello di codice.

Note

Questa classe contiene una richiesta di collegamento e una richiesta di ereditarietà a livello di classe che si applica a tutti i membri. Viene lanciato un SecurityException quando il chiamante immediato o la classe derivata non dispone dell'autorizzazione di piena fiducia.

Costruttori

Nome Descrizione
ResXResourceWriter(Stream, Func<Type,String>)

Inizializza una nuova istanza della ResXResourceWriter classe che scrive le risorse in un oggetto flusso specificato e imposta un delegato del convertitore. Questo delegato consente di scrivere gli assembly di risorse che usano le versioni di destinazione di .NET Framework prima di .NET Framework 4 usando nomi di assembly qualificati.

ResXResourceWriter(Stream)

Inizializza una nuova istanza della ResXResourceWriter classe che scrive le risorse nell'oggetto flusso 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 di scrivere gli assembly di risorse nelle versioni di destinazione del framework .NET prima di .NET Framework 4 usando nomi di assembly qualificati.

ResXResourceWriter(String)

Inizializza una nuova istanza della ResXResourceWriter classe che scrive le risorse nel file 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 di scrivere gli assembly di risorse nelle versioni di destinazione del framework di .NET prima di .NET Framework 4 usando nomi di assembly qualificati.

ResXResourceWriter(TextWriter)

Inizializza una nuova istanza della ResXResourceWriter classe che scrive nell'oggetto specificato TextWriter .

Campi

Nome Descrizione
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 per scrivere il file XML. Questo campo è di sola lettura.

SoapSerializedObjectMimeType

Specifica il tipo di contenuto per un oggetto SOAP. Questo campo è di sola lettura.

Version

Specifica la versione dello schema a cui è conforme l'output XML. Questo campo è di sola lettura.

Proprietà

Nome Descrizione
BasePath

Ottiene o imposta il percorso di base per il percorso del file relativo specificato in un ResXFileRef oggetto .

Metodi

Nome Descrizione
AddAlias(String, AssemblyName)

Aggiunge l'alias specificato a un elenco di alias.

AddMetadata(String, Byte[])

Aggiunge una proprietà della fase di progettazione il cui valore viene specificato come matrice di byte all'elenco di risorse da scrivere.

AddMetadata(String, Object)

Aggiunge una proprietà della fase di progettazione il cui valore viene specificato come oggetto all'elenco di risorse da scrivere.

AddMetadata(String, String)

Aggiunge una proprietà della fase di progettazione il cui valore viene specificato come stringa all'elenco di risorse da scrivere.

AddResource(ResXDataNode)

Aggiunge una risorsa denominata specificata in un ResXDataNode oggetto all'elenco di risorse da scrivere.

AddResource(String, Byte[])

Aggiunge una risorsa denominata specificata come matrice di byte all'elenco di risorse da scrivere.

AddResource(String, Object)

Aggiunge una risorsa denominata specificata come oggetto all'elenco di risorse da scrivere.

AddResource(String, String)

Aggiunge una risorsa 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, rilascia le risorse gestite.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
Finalize()

Questo membro esegue l'override del Finalize() metodo .

Generate()

Scrive tutte le risorse aggiunte dal AddResource(String, Byte[]) metodo nel file di output o nel flusso.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche