Sdílet prostřednictvím


ResXResourceSet Třída

Definice

Představuje všechny prostředky v souboru prostředků 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 jeho 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 metody nebo GetObject v závislosti na tom, zda je hodnota prostředku ř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. Metody z této třídy volejte pouze s důvěryhodnými daty. Další informace najdete v tématu Ověření všech vstupů.

Třída ResXResourceSet vytvoří výčet nad IResourceReader, načte všechny názvy a hodnoty a uloží je do hash tabulky. 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. Pokud byl soubor .resx načten do instance, můžete použít GetObject metodu k načtení konkrétního ResXResourceSet prostředku.

Poznámky pro dědice

Odvozené třídy ResXResourceSet , které používají vlastní čtenář prostředků a zapisovač, by měly přepsat GetDefaultReader() metody a GetDefaultWriter() poskytovat odpovídající funkce pro interpretaci ResXResourceSet instance.

Konstruktory

ResXResourceSet(Stream)

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

ResXResourceSet(String)

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

Pole

Reader

Označuje, že se IResourceReader používá ke čtení prostředků.

(Zděděno od ResourceSet)
Table

Hodnota Hashtable , ve které jsou prostředky uloženy.

(Zděděno od ResourceSet)

Metody

Close()

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

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

Odstraňuje 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 a v případě potřeby zavře interní spravované objekty.

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

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

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

Vrátí upřednostňovanou třídu čtečky 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í hashovací funkce.

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

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

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

Vyhledá objekt prostředku se zadaným názvem způsobem, který nerozlišuje velká a malá písmena, pokud je požadován.

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

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

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

Vyhledá prostředek se zadaným String názvem způsobem, který nerozlišuje velká a malá písmena, pokud je požadován.

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

Získá aktuální Type instanci.

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

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

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

Načte všechny prostředky a uloží je do objektu Hashtable uvedeného ve Table vlastnosti.

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

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

(Zděděno od Object)

Explicitní implementace rozhraní

IEnumerable.GetEnumerator()

Vrátí objekt, aby IEnumerator 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í

Cast<TResult>(IEnumerable)

Přetypuje prvky objektu na IEnumerable zadaný typ.

OfType<TResult>(IEnumerable)

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

AsParallel(IEnumerable)

Umožňuje paralelizaci dotazu.

AsQueryable(IEnumerable)

Převede objekt na IEnumerableIQueryable.

Platí pro

Viz také