Partager via


ResXResourceSet Classe

Définition

Représente toutes les ressources dans un fichier de ressources 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
Héritage
ResXResourceSet

Exemples

L’exemple suivant instancie un ResXResourceSet objet et montre comment énumérer ses ressources et récupérer des ressources individuelles par nom. Pour chaque ressource qu’il énumère, l’exemple utilise la IDictionaryEnumerator.Key propriété dans un appel à la GetString méthode ou GetObject , selon que la valeur de la ressource est une chaîne ou un objet.

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

L’exemple appelle une CreateResXFile méthode pour créer le fichier de ressources XML nécessaire. Il nécessite un fichier bitmap nommé Logo.bmp dans le répertoire dans lequel l’exemple s’exécute.

Remarques

Important

L’appel de méthodes de cette classe avec des données non approuvées est un risque de sécurité. Appelez les méthodes de cette classe avec des données approuvées uniquement. Pour plus d’informations, consultez Valider toutes les entrées.

La ResXResourceSet classe énumère sur un IResourceReader, charge chaque nom et chaque valeur, et les stocke dans une table de hachage. Vous pouvez ensuite énumérer les ressources dans l’objet ResXResourceSet ou récupérer des ressources individuelles par nom.

Un ResXResourceSet objet fournit un moyen pratique de lire toutes les ressources d’un fichier .resx en mémoire. Vous pouvez utiliser la GetObject méthode pour récupérer une ressource particulière lorsque le fichier .resx a été lu dans un ResXResourceSet instance.

Notes pour les héritiers

Les classes dérivées de ResXResourceSet qui utilisent leur propre lecteur et enregistreur de ressources doivent remplacer les GetDefaultReader() méthodes et GetDefaultWriter() pour fournir les fonctionnalités appropriées pour interpréter les ResXResourceSet instance.

Constructeurs

ResXResourceSet(Stream)

Initialise une nouvelle instance de la classe ResXResourceSet en utilisant le ResXResourceReader par défaut du système pour lire les ressources à partir du flux spécifié.

ResXResourceSet(String)

Initialise une nouvelle instance de la classe à l’aide de la ResXResourceSet valeur par défaut ResXResourceReader système qui ouvre et lit les ressources à partir du fichier spécifié.

Champs

Reader

Indique le IResourceReader utilisé pour lire les ressources.

(Hérité de ResourceSet)
Table

Hashtable dans lequel les ressources sont stockées.

(Hérité de ResourceSet)

Méthodes

Close()

Ferme et libère toutes les ressources utilisées par ce ResourceSet.

(Hérité de ResourceSet)
Dispose()

Libère les ressources (autres que la mémoire) utilisées par l'instance actuelle de ResourceSet.

(Hérité de ResourceSet)
Dispose(Boolean)

Libère les ressources (autres que la mémoire) associées à l’instance actuelle, en fermant les objets internes managés si nécessaire.

(Hérité de ResourceSet)
Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetDefaultReader()

Retourne la classe du lecteur de ressources préféré pour ce type de ResXResourceSet.

GetDefaultWriter()

Retourne la classe du writer de ressource préféré pour ce type de ResXResourceSet.

GetEnumerator()

Retourne IDictionaryEnumerator qui peut itérer au sein de ResourceSet.

(Hérité de ResourceSet)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetObject(String)

Recherche un objet de ressource avec le nom spécifié.

(Hérité de ResourceSet)
GetObject(String, Boolean)

Recherche un objet de ressource avec le nom spécifié sans respecter la casse, si nécessaire.

(Hérité de ResourceSet)
GetString(String)

Recherche une ressource String avec le nom spécifié.

(Hérité de ResourceSet)
GetString(String, Boolean)

Recherche une ressource String avec le nom spécifié sans respecter la casse, si nécessaire.

(Hérité de ResourceSet)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ReadResources()

Lit toutes les ressources et les stocke dans un Hashtable indiqué dans la propriété Table.

(Hérité de ResourceSet)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Implémentations d’interfaces explicites

IEnumerable.GetEnumerator()

Retourne un objet IEnumerator pour éviter une condition de concurrence critique avec Dispose. Ce membre n'est pas destiné à être utilisé directement à partir de votre code.

(Hérité de ResourceSet)

Méthodes d’extension

Cast<TResult>(IEnumerable)

Effectue un cast des éléments d'un IEnumerable vers le type spécifié.

OfType<TResult>(IEnumerable)

Filtre les éléments d'un IEnumerable en fonction du type spécifié.

AsParallel(IEnumerable)

Active la parallélisation d'une requête.

AsQueryable(IEnumerable)

Convertit un IEnumerable en IQueryable.

S’applique à

Voir aussi