ResXResourceSet Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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 |
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. |