Compartilhar via


ResXResourceSet Classe

Definição

Representa todos os recursos em um arquivo de recurso XML (.resx).

public ref class ResXResourceSet : System::Resources::ResourceSet
public class ResXResourceSet : System.Resources.ResourceSet
type ResXResourceSet = class
    inherit ResourceSet
Public Class ResXResourceSet
Inherits ResourceSet
Herança
ResXResourceSet

Exemplos

O exemplo a seguir cria uma instância de um ResXResourceSet objeto e ilustra como enumerar seus recursos e recuperar recursos individuais por nome. Para cada recurso que ele enumera, o exemplo usa a IDictionaryEnumerator.Key propriedade em uma chamada para o GetString método ou GetObject , dependendo se o valor do recurso é uma cadeia de caracteres ou um objeto.

using System;
using System.Collections;
using System.Drawing;
using System.Resources;

public class Example
{
   public static void Main()
   {
      CreateResXFile();
      
      ResXResourceSet resSet = new ResXResourceSet(@".\StoreResources.resx");
      IDictionaryEnumerator dict = resSet.GetEnumerator();
      while (dict.MoveNext()) {
         string key = (string) dict.Key;
         // Retrieve resource by name.
         if (dict.Value is string)
            Console.WriteLine("{0}: {1}", key, resSet.GetString(key));
         else
            Console.WriteLine("{0}: {1}", key, resSet.GetObject(key));   
      }
   }

   private static void CreateResXFile()
   {
      Bitmap logo = new Bitmap(@".\Logo.bmp");
      ResXDataNode node;
      
      ResXResourceWriter rw = new ResXResourceWriter(@".\StoreResources.resx");
      node = new ResXDataNode("Logo", logo);
      node.Comment = "The corporate logo.";
      rw.AddResource(node); 
      rw.AddResource("AppTitle", "Store Locations");
      node = new ResXDataNode("nColumns", 5);
      node.Comment = "The number of columns in the Store Location table";
      rw.AddResource(node);
      rw.AddResource("City", "City");
      rw.AddResource("State", "State");
      rw.AddResource("Code", "Zip Code");
      rw.AddResource("Telephone", "Phone");
      rw.Generate();
      rw.Close();
   }
}
// The example displays the following output:
//       Telephone: Phone
//       Code: Zip Code
//       State: State
//       City: City
//       nColumns: 5
//       AppTitle: Store Locations
//       Logo: System.Drawing.Bitmap
Imports System.Collections
Imports System.Drawing
Imports System.Resources

Module Example
   Public Sub Main()
      CreateResXFile()
      
      Dim resSet As New ResXResourceSet(".\StoreResources.resx")
      Dim dict As IDictionaryEnumerator = resSet.GetEnumerator()
      Do While dict.MoveNext()
         Dim key As String = CStr(dict.Key)
         ' Retrieve resource by name.
         If typeof dict.Value Is String Then
            Console.WriteLine("{0}: {1}", key, resSet.GetString(key))
         Else
            Console.WriteLine("{0}: {1}", key, resSet.GetObject(key))   
         End If
      Loop
   End Sub
   
   Private Sub CreateResXFile()
      Dim logo As New Bitmap(".\Logo.bmp")
      Dim node As ResXDataNode
      
      Dim rw As New ResXResourceWriter(".\StoreResources.resx")
      node = New ResXDataNode("Logo", logo)
      node.Comment = "The corporate logo."
      rw.AddResource(node) 
      rw.AddResource("AppTitle", "Store Locations")
      node = New ResXDataNode("nColumns", 5)
      node.Comment = "The number of columns in the Store Location table"
      rw.AddResource(node)
      rw.AddResource("City", "City")
      rw.AddResource("State", "State")
      rw.AddResource("Code", "Zip Code")
      rw.AddResource("Telephone", "Phone")
      rw.Generate()
      rw.Close()
   End Sub
End Module
' The example displays the following output:
'       Telephone: Phone
'       Code: Zip Code
'       State: State
'       City: City
'       nColumns: 5
'       AppTitle: Store Locations
'       Logo: System.Drawing.Bitmap

O exemplo chama um CreateResXFile método para criar o arquivo de recurso XML necessário. Ele requer um arquivo bitmap chamado Logo.bmp no diretório no qual o exemplo está em execução.

Comentários

Importante

Chamar métodos desta classe quando você tiver dados não confiáveis é um risco à segurança. Chame os métodos dessa classe somente quando você tiver dados confiáveis. Para obter mais informações, consulte Validar todas as entradas.

A ResXResourceSet classe enumera em um IResourceReader, carrega cada nome e valor e os armazena em uma tabela de hash. Em seguida, você pode enumerar os recursos no ResXResourceSet objeto ou recuperar recursos individuais por nome.

Um ResXResourceSet objeto fornece uma maneira conveniente de ler todos os recursos em um arquivo .resx na memória. Você pode usar o GetObject método para recuperar um recurso específico quando o arquivo .resx tiver sido lido em uma ResXResourceSet instância.

Notas aos Herdeiros

Classes derivadas de ResXResourceSet que usam seu próprio leitor de recursos e gravador devem substituir os GetDefaultReader() métodos e GetDefaultWriter() para fornecer a funcionalidade apropriada para interpretar a ResXResourceSet instância.

Construtores

ResXResourceSet(Stream)

Inicializa uma nova instância da classe ResXResourceSet usando o padrão do sistema ResXResourceReader para ler recursos do fluxo especificado.

ResXResourceSet(String)

Inicializa uma nova instância da ResXResourceSet classe usando o padrão ResXResourceReader do sistema que abre e lê recursos do arquivo especificado.

Campos

Reader

Indica o IResourceReader usado para ler os recursos.

(Herdado de ResourceSet)
Table

O Hashtable no qual os recursos são armazenados.

(Herdado de ResourceSet)

Métodos

Close()

Fecha e libera recursos usados por este ResourceSet.

(Herdado de ResourceSet)
Dispose()

Descarta os recursos (diferentes da memória) usados pela instância atual de ResourceSet.

(Herdado de ResourceSet)
Dispose(Boolean)

Libera recursos (diferentes da memória) associados à instância atual, fechando objetos internos gerenciados, se solicitado.

(Herdado de ResourceSet)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetDefaultReader()

Retorna a classe do leitor de recursos preferencial para esse tipo de ResXResourceSet.

GetDefaultWriter()

Retorna a classe do gravador de recursos preferencial para esse tipo de ResXResourceSet.

GetEnumerator()

Retorna um IDictionaryEnumerator que pode ser iterado por meio de ResourceSet.

(Herdado de ResourceSet)
GetHashCode()

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

(Herdado de Object)
GetObject(String)

Pesquisa um objeto do recurso com o nome especificado.

(Herdado de ResourceSet)
GetObject(String, Boolean)

Pesquisa um objeto de recurso com o nome especificado, não diferenciando maiúsculas de minúsculas, se solicitado.

(Herdado de ResourceSet)
GetString(String)

Pesquisa um recurso String com o nome especificado.

(Herdado de ResourceSet)
GetString(String, Boolean)

Pesquisa um recurso String com o nome especificado, não diferenciando maiúsculas de minúsculas, se solicitado.

(Herdado de ResourceSet)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ReadResources()

Lê todos os recursos e os armazena em um Hashtable indicado na propriedade Table.

(Herdado de ResourceSet)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

IEnumerable.GetEnumerator()

Retorna um objeto IEnumerator para evitar uma condição de corrida com Dispose. Este membro não se destina a ser usado diretamente do seu código.

(Herdado de ResourceSet)

Métodos de Extensão

Cast<TResult>(IEnumerable)

Converte os elementos de um IEnumerable para o tipo especificado.

OfType<TResult>(IEnumerable)

Filtra os elementos de um IEnumerable com base em um tipo especificado.

AsParallel(IEnumerable)

Habilita a paralelização de uma consulta.

AsQueryable(IEnumerable)

Converte um IEnumerable em um IQueryable.

Aplica-se a

Confira também