Sdílet prostřednictvím


ResXResourceSet Třída

Definice

Představuje všechny prostředky v souboru prostředku 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
Dědičnost
ResXResourceSet

Příklady

Následující příklad vytvoří instanci objektu ResXResourceSet a ukazuje, jak vytvořit výčet svých prostředků a načíst jednotlivé prostředky podle názvu. Pro každý prostředek, který vyčíslí, příklad používá IDictionaryEnumerator.Key vlastnost ve volání GetString nebo GetObject metody v závislosti na tom, zda hodnota prostředku je řetězec nebo objekt.

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

Příklad volá metodu CreateResXFile pro vytvoření potřebného souboru prostředků XML. Vyžaduje rastrový soubor s názvem Logo.bmp v adresáři, ve kterém je příklad spuštěn.

Poznámky

Důležité

Volání metod z této třídy s nedůvěryhodnými daty představuje bezpečnostní riziko. Volejte metody z této třídy pouze s důvěryhodnými daty. Další informace naleznete v tématu Ověření všech vstupů.

Třída ResXResourceSet vyčísluje IResourceReader, načte každý název a hodnotu a ukládá je v tabulce hash. Potom můžete vytvořit výčet prostředků v objektu ResXResourceSet nebo načíst jednotlivé prostředky podle názvu.

Objekt ResXResourceSet poskytuje pohodlný způsob, jak číst všechny prostředky v souboru .resx do paměti. Metodu GetObject můžete použít k načtení konkrétního prostředku, když byl soubor .resx načten do ResXResourceSet instance.

Poznámky pro dědice

Odvozené třídy, které používají vlastní čtečku ResXResourceSet prostředků a zapisovač, by měly přepsat GetDefaultReader() a GetDefaultWriter() metody poskytnout příslušné funkce pro interpretaci ResXResourceSet instance.

Konstruktory

Name Description
ResXResourceSet(Stream)

Inicializuje novou instanci ResXResourceSet třídy pomocí systému výchozí ResXResourceReader pro čtení prostředků ze zadaného datového proudu.

ResXResourceSet(String)

Inicializuje novou instanci ResXResourceSet třídy pomocí výchozího systému ResXResourceReader , který otevře a načte prostředky ze zadaného souboru.

Pole

Name Description
Reader

Označuje IResourceReader použité ke čtení prostředků.

(Zděděno od ResourceSet)
Table

Informace Hashtable o tom, ve kterých jsou prostředky uložené.

(Zděděno od ResourceSet)

Metody

Name Description
Close()

Zavře a uvolní všechny prostředky, které tento ResourceSetnástroj používá .

(Zděděno od ResourceSet)
Dispose()

Odstraní prostředky (jiné než paměť) používané aktuální instancí ResourceSet.

(Zděděno od ResourceSet)
Dispose(Boolean)

Uvolní prostředky (jiné než paměť) přidružené k aktuální instanci, zavření interních spravovaných objektů v případě potřeby.

(Zděděno od ResourceSet)
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetDefaultReader()

Vrátí upřednostňovanou třídu čtenáře prostředků pro tento druh ResXResourceSet.

GetDefaultWriter()

Vrátí upřednostňovanou třídu zapisovače prostředků pro tento druh ResXResourceSet.

GetEnumerator()

Vrátí hodnotu IDictionaryEnumerator , která může iterovat přes ResourceSet.

(Zděděno od ResourceSet)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetObject(String, Boolean)

Vyhledá objekt prostředku se zadaným názvem bez rozlišování malých a malých písmen, pokud je požadován.

(Zděděno od ResourceSet)
GetObject(String)

Vyhledá objekt prostředku se zadaným názvem.

(Zděděno od ResourceSet)
GetString(String, Boolean)

V případě potřeby vyhledá String prostředek se zadaným názvem bez rozlišování malých a malých písmen.

(Zděděno od ResourceSet)
GetString(String)

String Vyhledá prostředek se zadaným názvem.

(Zděděno od ResourceSet)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
ReadResources()

Přečte všechny prostředky a uloží je do označené Hashtable vlastnosti Table .

(Zděděno od ResourceSet)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

Name Description
IEnumerable.GetEnumerator()

Vrátí objekt, IEnumerator aby se zabránilo konfliktu časování s Dispose. Tento člen není určen k použití přímo z vašeho kódu.

(Zděděno od ResourceSet)

Metody rozšíření

Name Description
AsParallel(IEnumerable)

Umožňuje paralelizaci dotazu.

AsQueryable(IEnumerable)

Převede IEnumerable na IQueryable.

Cast<TResult>(IEnumerable)

Přetypuje prvky IEnumerable na zadaný typ.

OfType<TResult>(IEnumerable)

Filtruje prvky IEnumerable na základě zadaného typu.

Platí pro

Viz také