Partilhar 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 método ou GetObject para o GetString método, 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 dessa classe com dados não confiáveis é um risco à segurança. Chame os métodos dessa classe apenas com 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 que ResXResourceSet usam seu próprio leitor de recursos e gravador devem substituir os métodos e GetDefaultWriter() os GetDefaultReader() métodos para fornecer a funcionalidade apropriada para interpretar a ResXResourceSet instância.

Construtores

Nome Description
ResXResourceSet(Stream)

Inicializa uma nova instância da ResXResourceSet classe usando o padrão ResXResourceReader do sistema 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

Nome Description
Reader

Indica o IResourceReader usado para ler os recursos.

(Herdado de ResourceSet)
Table

O Hashtable local em que os recursos são armazenados.

(Herdado de ResourceSet)

Métodos

Nome Description
Close()

Fecha e libera todos os recursos usados por isso ResourceSet.

(Herdado de ResourceSet)
Dispose()

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

(Herdado de ResourceSet)
Dispose(Boolean)

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

(Herdado de ResourceSet)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetDefaultReader()

Retorna a classe de leitor de recurso preferencial para esse tipo de ResXResourceSet.

GetDefaultWriter()

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

GetEnumerator()

Retorna um IDictionaryEnumerator que pode iterar por meio do ResourceSet.

(Herdado de ResourceSet)
GetHashCode()

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

(Herdado de Object)
GetObject(String, Boolean)

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

(Herdado de ResourceSet)
GetObject(String)

Pesquisa um objeto de recurso com o nome especificado.

(Herdado de ResourceSet)
GetString(String, Boolean)

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

(Herdado de ResourceSet)
GetString(String)

Pesquisa um String recurso com o nome especificado.

(Herdado de ResourceSet)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
ReadResources()

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

(Herdado de ResourceSet)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

Nome Description
IEnumerable.GetEnumerator()

Retorna um IEnumerator objeto 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

Nome Description
AsParallel(IEnumerable)

Habilita a paralelização de uma consulta.

AsQueryable(IEnumerable)

Converte um IEnumerable em um IQueryable.

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.

Aplica-se a

Confira também