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 a metodi da questa classe con dati non attendibili costituisce 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 ResXResourceSet o recuperare singole risorse in base al nome.

Un ResXResourceSet oggetto offre un modo pratico per leggere tutte le risorse in un file 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

ResXResourceSet(Stream)

Inizializza una nuova istanza della classe ResXResourceSet con l'oggetto ResXResourceReader predefinito del sistema per leggere le risorse dal flusso specificato.

ResXResourceSet(String)

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

Campi

Reader

Indica l'oggetto IResourceReader usato per leggere le risorse.

(Ereditato da ResourceSet)
Table

Oggetto Hashtable in cui sono memorizzate le risorse.

(Ereditato da ResourceSet)

Metodi

Close()

Chiude e rilascia qualsiasi risorsa usata da questo oggetto ResourceSet.

(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, se necessario, gli oggetti gestiti interni.

(Ereditato da ResourceSet)
Equals(Object)

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

(Ereditato da Object)
GetDefaultReader()

Restituisce la classe del visualizzatore di risorse preferito per questo tipo di oggetto ResXResourceSet.

GetDefaultWriter()

Restituisce la classe del writer di risorse preferito per questo tipo di oggetto ResXResourceSet.

GetEnumerator()

Restituisce un'interfaccia IDictionaryEnumerator che consente di scorrere ResourceSet.

(Ereditato da ResourceSet)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetObject(String)

Cerca un oggetto risorsa con il nome specificato.

(Ereditato da ResourceSet)
GetObject(String, Boolean)

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

(Ereditato da ResourceSet)
GetString(String)

Cerca una risorsa String con il nome specificato.

(Ereditato da ResourceSet)
GetString(String, Boolean)

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

(Ereditato da ResourceSet)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ReadResources()

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

(Ereditato da ResourceSet)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

IEnumerable.GetEnumerator()

Restituisce un oggetto IEnumerator per evitare che si verifichi una race condition con Dispose. Il membro non è destinato a essere usato direttamente dal codice.

(Ereditato da ResourceSet)

Metodi di estensione

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.

OfType<TResult>(IEnumerable)

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

AsParallel(IEnumerable)

Consente la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.

Si applica a

Vedi anche