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ř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
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 |
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. |