Compartir a través de


ResXResourceSet Clase

Definición

Representa todos los recursos de un archivo de recursos 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
Herencia
ResXResourceSet

Ejemplos

En el ejemplo siguiente se crea una instancia de un ResXResourceSet objeto y se muestra cómo enumerar sus recursos y recuperar recursos individuales por nombre. Para cada recurso que enumera, en el ejemplo se usa la IDictionaryEnumerator.Key propiedad de una llamada al GetString método o GetObject , en función de si el valor del recurso es una cadena o un 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

En el ejemplo se llama a un CreateResXFile método para crear el archivo de recursos XML necesario. Requiere un archivo de mapa de bits denominado Logo.bmp en el directorio en el que se ejecuta el ejemplo.

Comentarios

Importante

Llamar a métodos de esta clase con datos que no son de confianza supone un riesgo de seguridad. Llame a los métodos de esta clase solo con datos de confianza. Para obtener más información, vea Validar todas las entradas.

La ResXResourceSet clase enumera sobre un IResourceReader, carga todos los nombres y valores, y los almacena en una tabla hash. A continuación, puede enumerar los recursos en el ResXResourceSet objeto o recuperar recursos individuales por nombre.

Un ResXResourceSet objeto proporciona una manera cómoda de leer todos los recursos de un archivo .resx en la memoria. Puede usar el GetObject método para recuperar un recurso determinado cuando el archivo .resx se ha leído en una ResXResourceSet instancia de .

Notas a los desarrolladores de herederos

Las clases derivadas de que usan su propio lector de ResXResourceSet recursos y escritor deben invalidar los GetDefaultReader() métodos y GetDefaultWriter() para proporcionar la funcionalidad adecuada para interpretar la ResXResourceSet instancia.

Constructores

ResXResourceSet(Stream)

Inicializa una nueva instancia de la clase ResXResourceSet usando el ResXResourceReader predeterminado del sistema para leer los recursos del flujo especificado.

ResXResourceSet(String)

Inicializa una nueva instancia de la ResXResourceSet clase utilizando el valor predeterminado ResXResourceReader del sistema que abre y lee los recursos del archivo especificado.

Campos

Reader

Indica el elemento IResourceReader usado para leer los recursos.

(Heredado de ResourceSet)
Table

Hashtable donde se almacenan los recursos.

(Heredado de ResourceSet)

Métodos

Close()

Cierra y libera cualquier recurso usado por este ResourceSet.

(Heredado de ResourceSet)
Dispose()

Se deshace de los recursos (distintos de la memoria) usados por la instancia actual de ResourceSet.

(Heredado de ResourceSet)
Dispose(Boolean)

Libera los recursos (distintos de la memoria) asociados a la instancia actual, cerrando objetos administrados internos si fuera necesario.

(Heredado de ResourceSet)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetDefaultReader()

Devuelve la clase del lector de recursos preferido de esta categoría de ResXResourceSet.

GetDefaultWriter()

Devuelve la clase del escritor de recursos preferido de esta categoría de ResXResourceSet.

GetEnumerator()

Devuelve una interfaz IDictionaryEnumerator que puede recorrer en iteración el ResourceSet.

(Heredado de ResourceSet)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetObject(String)

Busca un objeto de recursos con el nombre especificado.

(Heredado de ResourceSet)
GetObject(String, Boolean)

Busca un objeto de recursos con el nombre especificado de forma que no distinga entre mayúsculas y minúsculas, si así se solicitase.

(Heredado de ResourceSet)
GetString(String)

Busca un recurso de tipo String con el nombre especificado.

(Heredado de ResourceSet)
GetString(String, Boolean)

Busca un recurso de tipo String con el nombre especificado de forma que no distinga entre mayúsculas y minúsculas, si así se solicitase.

(Heredado de ResourceSet)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ReadResources()

Lee todos los recursos y los almacena en una Hashtable tal y como se indica en la propiedad Table.

(Heredado de ResourceSet)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

IEnumerable.GetEnumerator()

Devuelve un objeto IEnumerator para evitar una condición de carrera con Dispose. Este miembro no está pensado para usarlo directamente desde el código.

(Heredado de ResourceSet)

Métodos de extensión

Cast<TResult>(IEnumerable)

Convierte los elementos de IEnumerable en el tipo especificado.

OfType<TResult>(IEnumerable)

Filtra los elementos de IEnumerable en función de un tipo especificado.

AsParallel(IEnumerable)

Habilita la paralelización de una consulta.

AsQueryable(IEnumerable)

Convierte una interfaz IEnumerable en IQueryable.

Se aplica a

Consulte también