ResXResourceWriter Classe

Definição

Grava recursos em um arquivo de recurso XML (.resx) ou em um fluxo de saída.

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
Herança
ResXResourceWriter
Implementações

Exemplos

O exemplo a seguir cria um arquivo .resx chamado CarResources.resx que armazena seis cadeias de caracteres, um ícone e dois objetos definidos pelo aplicativo (dois Automobile objetos). Observe que a Automobile classe, que é definida e instanciada no exemplo, é marcada com o SerializableAttribute atributo.

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

Comentários

Os ResXResourceWriter recursos de gravação no formato XML. Para gravar um arquivo de recurso binário, use ResourceWriter.

Os recursos são especificados como pares nome/valor usando o AddResource método. Os nomes de recursos diferenciam maiúsculas de minúsculas quando usados para pesquisas; mas para dar suporte mais facilmente a ferramentas de criação e ajudar a eliminar bugs, ResXResourceWriter não permite que um arquivo.resx tenha nomes que variam apenas por caso.

Para criar um arquivo.resx, crie um ResXResourceWriter com um nome de arquivo exclusivo, chame AddResource pelo menos uma vez, chame Generate para gravar o arquivo de recursos no disco e, em seguida, chame Close para fechar o arquivo. A chamada Close será implicitamente Generate o arquivo, se necessário.

Os recursos não são necessariamente gravados na mesma ordem em que foram adicionados.

Para obter mais informações sobre o formato de um arquivo a.resx, consulte Trabalhando com arquivos .resx programaticamente.

Note

Esta classe contém uma demanda de link e uma demanda de herança no nível de classe que se aplica a todos os membros. Um SecurityException é lançado quando o chamador imediato ou a classe derivada não tem permissão de confiança total.

Construtores

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

Inicializa uma nova instância da ResXResourceWriter classe que grava os recursos em um objeto de fluxo especificado e define um delegado de conversor. Esse delegado permite que assemblies de recursos sejam gravados para versões de destino do .NET Framework antes de .NET Framework 4 usando nomes de assembly qualificados.

ResXResourceWriter(Stream)

Inicializa uma nova instância da ResXResourceWriter classe que grava os recursos no objeto de fluxo especificado.

ResXResourceWriter(String, Func<Type,String>)

Inicializa uma nova instância da classe ResXResourceWriter que grava os recursos em um arquivo especificado e define um delegado que permite que assemblies de recursos sejam gravados para versões de destino do .NET Framework antes de .NET Framework 4 usando nomes de assembly qualificados.

ResXResourceWriter(String)

Inicializa uma nova instância da ResXResourceWriter classe que grava os recursos no arquivo especificado.

ResXResourceWriter(TextWriter, Func<Type,String>)

Inicializa uma nova instância da classe ResXResourceWriter que grava os recursos em um objeto TextWriter especificado e define um delegado que permite que assemblies de recursos sejam gravados que direcionam as versões do .NET Framework antes de .NET Framework 4 usando nomes de assembly qualificados.

ResXResourceWriter(TextWriter)

Inicializa uma nova instância da ResXResourceWriter classe que grava no objeto especificado TextWriter .

Campos

Nome Description
BinSerializedObjectMimeType

Especifica o tipo de conteúdo padrão para um objeto binário. O campo é somente leitura.

ByteArraySerializedObjectMimeType

Especifica o tipo de conteúdo padrão para um objeto de matriz de bytes. O campo é somente leitura.

DefaultSerializedObjectMimeType

Especifica o tipo de conteúdo padrão para um objeto. O campo é somente leitura.

ResMimeType

Especifica o tipo de conteúdo de um recurso XML. O campo é somente leitura.

ResourceSchema

Especifica o esquema a ser usado na gravação do arquivo XML. O campo é somente leitura.

SoapSerializedObjectMimeType

Especifica o tipo de conteúdo de um objeto SOAP. O campo é somente leitura.

Version

Especifica a versão do esquema à qual a saída XML está em conformidade. O campo é somente leitura.

Propriedades

Nome Description
BasePath

Obtém ou define o caminho base para o caminho de arquivo relativo especificado em um ResXFileRef objeto.

Métodos

Nome Description
AddAlias(String, AssemblyName)

Adiciona o alias especificado a uma lista de aliases.

AddMetadata(String, Byte[])

Adiciona uma propriedade de tempo de design cujo valor é especificado como uma matriz de bytes à lista de recursos a serem gravados.

AddMetadata(String, Object)

Adiciona uma propriedade de tempo de design cujo valor é especificado como um objeto à lista de recursos a serem gravados.

AddMetadata(String, String)

Adiciona uma propriedade de tempo de design cujo valor é especificado como uma cadeia de caracteres à lista de recursos a serem gravados.

AddResource(ResXDataNode)

Adiciona um recurso nomeado especificado em um ResXDataNode objeto à lista de recursos a serem gravados.

AddResource(String, Byte[])

Adiciona um recurso nomeado especificado como uma matriz de bytes à lista de recursos a serem gravados.

AddResource(String, Object)

Adiciona um recurso nomeado especificado como um objeto à lista de recursos a serem gravados.

AddResource(String, String)

Adiciona um recurso de cadeia de caracteres aos recursos.

Close()

Libera todos os recursos usados pelo ResXResourceWriter.

Dispose()

Libera todos os recursos usados pelo ResXResourceWriter.

Dispose(Boolean)

Libera os recursos não gerenciados usados pelo ResXResourceWriter e, opcionalmente, libera os recursos gerenciados.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Finalize()

Esse membro substitui o Finalize() método.

Generate()

Grava todos os recursos adicionados pelo AddResource(String, Byte[]) método ao arquivo ou fluxo de saída.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também