ResXResourceWriter Classe

Definizione

Scrive le risorse in un file di risorse XML (resx) o in un flusso di output.Writes resources in an XML resource (.resx) file or an output stream.

public ref class ResXResourceWriter : System::Resources::IResourceWriter
public class ResXResourceWriter : System.Resources.IResourceWriter
type ResXResourceWriter = class
    interface IResourceWriter
    interface IDisposable
Public Class ResXResourceWriter
Implements IResourceWriter
Ereditarietà
ResXResourceWriter
Implementazioni

Esempi

Nell'esempio seguente viene creato un file con estensione CarResources.resx resx denominato che archivia sei stringhe, un'icona e due oggetti definiti dall'applicazione ( Automobile due oggetti).The following example creates a .resx file named CarResources.resx that stores six strings, an icon, and two application-defined objects (two Automobile objects). Si noti che la classe Automobile, che viene definita e di cui viene creata un'istanza nell'esempio, è contrassegnata con l'attributo SerializableAttribute.Note that the Automobile class, which is defined and instantiated in the example, is tagged with the SerializableAttribute attribute.

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

ResXResourceWriter Scrive le risorse in formato XML.The ResXResourceWriter writes resources in XML format. Per scrivere un file di risorse binario, ResourceWriterusare.To write a binary resource file, use ResourceWriter.

Le risorse vengono specificate come coppie nome/valore utilizzando AddResource il metodo.Resources are specified as name/value pairs using the AddResource method. I nomi delle risorse fanno distinzione tra maiuscole e minuscole quando vengono usati per le ricerche; Tuttavia, per supportare più facilmente gli strumenti di creazione ed eliminare i ResXResourceWriter bug, non consente a un file. resx di avere nomi che variano solo in base alle maiuscole e minuscole.Resource names are case-sensitive when used for lookups; but to more easily support authoring tools and help eliminate bugs, ResXResourceWriter does not allow a.resx file to have names that vary only by case.

Per creare un file con estensione resx, creare ResXResourceWriter un con un nome file univoco, AddResource chiamare almeno una volta, Generate chiamare per scrivere il file di risorse su disco e quindi Close chiamare per chiudere il file.To create a.resx file, create a ResXResourceWriter with a unique file name, call AddResource at least once, call Generate to write the resources file to disk, and then call Close to close the file. Se Close necessario, chiamando Generate il file in modo implicito.Calling Close will implicitly Generate the file if required.

Le risorse non vengono necessariamente scritte nello stesso ordine in cui sono state aggiunte.The resources are not necessarily written in the same order they were added.

Per ulteriori informazioni sul formato di un file con estensione resx, vedere utilizzo di file con estensione resx a livello di codice.For more information on the format of a.resx file, see Working with .resx Files Programmatically.

Nota

Questa classe contiene una richiesta di collegamento e una richiesta di ereditarietà a livello di classe che si applica a tutti i membri.This class contains a link demand and an inheritance demand at the class level that applies to all members. Viene SecurityException generata un'eccezione quando il chiamante immediato o la classe derivata non dispone dell'autorizzazione di attendibilità totale.A SecurityException is thrown when either the immediate caller or the derived class does not have full-trust permission.

Costruttori

ResXResourceWriter(Stream)

Inizializza una nuova istanza della classe ResXResourceWriter che scrive le risorse nell'oggetto di flusso specificato.Initializes a new instance of the ResXResourceWriter class that writes the resources to the specified stream object.

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.Initializes a new instance of the ResXResourceWriter class that writes the resources to a specified stream object and sets a converter delegate. Questo delegato consente la scrittura di assembly di risorse per le versioni di .NET Framework antecedenti a .NET Framework 4.NET Framework 4 usando nomi di assembly completi.This delegate enables resource assemblies to be written that target versions of the .NET Framework before the .NET Framework 4.NET Framework 4 by using qualified assembly names.

ResXResourceWriter(String)

Inizializza una nuova istanza della classe ResXResourceWriter che scrive le risorse nel file specificato.Initializes a new instance of the ResXResourceWriter class that writes the resources to the specified file.

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.NET Framework 4 usando nomi di assembly completi.Initializes a new instance of the ResXResourceWriter class that writes the resources to a specified file and sets a delegate that enables resource assemblies to be written that target versions of the .NET Framework before the .NET Framework 4.NET Framework 4 by using qualified assembly names.

ResXResourceWriter(TextWriter)

Inizializza una nuova istanza della classe ResXResourceWriter che scrive nell'oggetto TextWriter specificato.Initializes a new instance of the ResXResourceWriter class that writes to the specified TextWriter object.

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.NET Framework 4 usando nomi di assembly completi.Initializes a new instance of the ResXResourceWriter class that writes the resources to a specified TextWriter object and sets a delegate that enables resource assemblies to be written that target versions of the .NET Framework before the .NET Framework 4.NET Framework 4 by using qualified assembly names.

Campi

BinSerializedObjectMimeType

Specifica il tipo di contenuto predefinito per un oggetto binario.Specifies the default content type for a binary object. Questo campo è di sola lettura.This field is read-only.

ByteArraySerializedObjectMimeType

Specifica il tipo di contenuto predefinito per un oggetto matrice di byte.Specifies the default content type for a byte array object. Questo campo è di sola lettura.This field is read-only.

DefaultSerializedObjectMimeType

Specifica il tipo di contenuto predefinito per un oggetto.Specifies the default content type for an object. Questo campo è di sola lettura.This field is read-only.

ResMimeType

Specifica il tipo di contenuto di una risorsa XML.Specifies the content type of an XML resource. Questo campo è di sola lettura.This field is read-only.

ResourceSchema

Specifica lo schema da utilizzare durante la scritture del file XML.Specifies the schema to use in writing the XML file. Questo campo è di sola lettura.This field is read-only.

SoapSerializedObjectMimeType

Specifica il tipo di contenuto di un oggetto SOAP.Specifies the content type for a SOAP object. Questo campo è di sola lettura.This field is read-only.

Version

Specifica la versione dello schema cui si conforma l'output XML.Specifies the version of the schema that the XML output conforms to. Questo campo è di sola lettura.This field is read-only.

Proprietà

BasePath

Ottiene o imposta il percorso di base per il percorso di file relativo specificato in un oggetto ResXFileRef.Gets or sets the base path for the relative file path specified in a ResXFileRef object.

Metodi

AddAlias(String, AssemblyName)

Aggiunge l'alias specificato all'elenco di alias.Adds the specified alias to a list of aliases.

AddMetadata(String, Byte[])

Aggiunge all'elenco di risorse da scrivere una proprietà in fase di progettazione il cui valore è specificato come matrice di byte.Adds a design-time property whose value is specified as a byte array to the list of resources to write.

AddMetadata(String, Object)

Aggiunge all'elenco di risorse da scrivere una proprietà in fase di progettazione il cui valore è specificato come oggetto.Adds a design-time property whose value is specified as an object to the list of resources to write.

AddMetadata(String, String)

Aggiunge all'elenco di risorse da scrivere una proprietà in fase di progettazione il cui valore è specificato come stringa.Adds a design-time property whose value is specified as a string to the list of resources to write.

AddResource(ResXDataNode)

Aggiunge all'elenco di risorse da scrivere una risorsa denominata specificata in un oggetto ResXDataNode.Adds a named resource specified in a ResXDataNode object to the list of resources to write.

AddResource(String, Byte[])

Aggiunge all'elenco di risorse da scrivere una risorsa denominata specificata come matrice di byte.Adds a named resource specified as a byte array to the list of resources to write.

AddResource(String, Object)

Aggiunge all'elenco di risorse da scrivere una risorsa denominata specificata come oggetto.Adds a named resource specified as an object to the list of resources to write.

AddResource(String, String)

Aggiunge una risorsa di stringa alle risorse.Adds a string resource to the resources.

Close()

Rilascia tutte le risorse usate da ResXResourceWriter.Releases all resources used by the ResXResourceWriter.

Dispose()

Rilascia tutte le risorse usate da ResXResourceWriter.Releases all resources used by the ResXResourceWriter.

Dispose(Boolean)

Rilascia le risorse non gestite usate da ResXResourceWriter e, facoltativamente, le risorse gestite.Releases the unmanaged resources used by the ResXResourceWriter and optionally releases the managed resources.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
Finalize()

Questo metodo esegue l'override del metodo Finalize().This member overrides the Finalize() method.

Generate()

Scrive tutte le risorse aggiunte dal metodo AddResource(String, Byte[]) nel flusso o nel file di output.Writes all resources added by the AddResource(String, Byte[]) method to the output file or stream.

GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Sicurezza

LinkDemand
per l'attendibilità totale per il chiamante immediato.for full trust for the immediate caller. Impossibile utilizzare questo membro in codice parzialmente attendibile.This member cannot be used by partially trusted code.

InheritanceDemand
per l'attendibilità totale per gli eredi.for full trust for inheritors. Questo membro non può essere ereditato da codice parzialmente attendibile.This member cannot be inherited by partially trusted code.

Si applica a

Vedi anche