ResXResourceSet Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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 |
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. |