Condividi tramite


ResXResourceSet Classe

Definizione

Rappresenta tutte le risorse in un file di risorse XML (con estensione resx).

public ref class ResXResourceSet : System::Resources::ResourceSet
public class ResXResourceSet : System.Resources.ResourceSet
type ResXResourceSet = class
    inherit ResourceSet
Public Class ResXResourceSet
Inherits ResourceSet
Ereditarietà
ResXResourceSet

Esempio

Nell'esempio seguente viene creata un'istanza di un ResXResourceSet oggetto e viene illustrato come enumerare le risorse e recuperare le singole risorse in base al nome. Per ogni risorsa enumerata, nell'esempio viene utilizzata la IDictionaryEnumerator.Key proprietà in una chiamata al GetString metodo o GetObject , a seconda che il valore della risorsa sia una stringa o un oggetto .

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

Nell'esempio viene chiamato un CreateResXFile metodo per creare il file di risorse XML necessario. Richiede un file bitmap denominato Logo.bmp nella directory in cui è in esecuzione l'esempio.

Commenti

Importante

La chiamata di metodi da questa classe con dati non attendibili è un rischio per la sicurezza. Chiamare i metodi da questa classe solo con dati attendibili. Per altre informazioni, vedere Convalidare tutti gli input.

La ResXResourceSet classe enumera su un IResourceReaderoggetto , carica ogni nome e valore e li archivia in una tabella hash. È quindi possibile enumerare le risorse nell'oggetto o recuperare singole risorse in base al ResXResourceSet nome.

Un ResXResourceSet oggetto offre un modo pratico per leggere tutte le risorse in un file con estensione resx in memoria. È possibile usare il GetObject metodo per recuperare una determinata risorsa quando il file resx è stato letto in un'istanza ResXResourceSet di .

Note per gli eredi

Le classi derivate di che usano il proprio lettore di ResXResourceSet risorse e writer devono eseguire l'override dei GetDefaultReader() metodi e GetDefaultWriter() per fornire la funzionalità appropriata per interpretare l'istanza ResXResourceSet .

Costruttori

Nome Descrizione
ResXResourceSet(Stream)

Inizializza una nuova istanza della ResXResourceSet classe utilizzando l'impostazione predefinita ResXResourceReader del sistema per leggere le risorse dal flusso specificato.

ResXResourceSet(String)

Inizializza una nuova istanza della classe utilizzando l'impostazione predefinita ResXResourceReader di ResXResourceSet sistema che apre e legge le risorse dal file specificato.

Campi

Nome Descrizione
Reader

Indica l'oggetto IResourceReader utilizzato per leggere le risorse.

(Ereditato da ResourceSet)
Table

Oggetto Hashtable in cui vengono archiviate le risorse.

(Ereditato da ResourceSet)

Metodi

Nome Descrizione
Close()

Chiude e rilascia tutte le risorse usate da questo ResourceSetoggetto .

(Ereditato da ResourceSet)
Dispose()

Elimina le risorse (diverse dalla memoria) usate dall'istanza corrente di ResourceSet.

(Ereditato da ResourceSet)
Dispose(Boolean)

Rilascia le risorse (diverse dalla memoria) associate all'istanza corrente, chiudendo gli oggetti gestiti interni, se richiesto.

(Ereditato da ResourceSet)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetDefaultReader()

Restituisce la classe di lettura risorse preferita per questo tipo di ResXResourceSet.

GetDefaultWriter()

Restituisce la classe di writer di risorse preferita per questo tipo di ResXResourceSet.

GetEnumerator()

Restituisce un oggetto IDictionaryEnumerator in grado di scorrere l'oggetto ResourceSet.

(Ereditato da ResourceSet)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetObject(String, Boolean)

Cerca un oggetto risorsa con il nome specificato in modo senza distinzione tra maiuscole e minuscole, se richiesto.

(Ereditato da ResourceSet)
GetObject(String)

Cerca un oggetto risorsa con il nome specificato.

(Ereditato da ResourceSet)
GetString(String, Boolean)

Cerca una String risorsa con il nome specificato in modo senza distinzione tra maiuscole e minuscole, se richiesto.

(Ereditato da ResourceSet)
GetString(String)

Cerca una String risorsa con il nome specificato.

(Ereditato da ResourceSet)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ReadResources()

Legge tutte le risorse e le archivia in un Hashtable oggetto indicato nella Table proprietà .

(Ereditato da ResourceSet)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

Nome Descrizione
IEnumerable.GetEnumerator()

Restituisce un IEnumerator oggetto per evitare una race condition con Dispose. Questo membro non deve essere usato direttamente dal codice.

(Ereditato da ResourceSet)

Metodi di estensione

Nome Descrizione
AsParallel(IEnumerable)

Abilita la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un IEnumerable in un IQueryable.

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un IEnumerable al tipo specificato.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un IEnumerable in base a un tipo specificato.

Si applica a

Vedi anche