ResXResourceSet Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje wszystkie zasoby w pliku zasobu 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
- Dziedziczenie
Przykłady
Poniższy przykład tworzy wystąpienie ResXResourceSet obiektu i ilustruje sposób wyliczania zasobów i pobierania poszczególnych zasobów według nazwy. Dla każdego zasobu, który wylicza, przykład używa IDictionaryEnumerator.Key właściwości w wywołaniu metody GetString
lub GetObject
, w zależności od tego, czy wartość zasobu jest ciągiem, czy obiektem.
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
Przykład wywołuje metodę w CreateResXFile
celu utworzenia niezbędnego pliku zasobów XML. Wymaga pliku mapy bitowej o nazwie Logo.bmp w katalogu, w którym jest uruchomiony przykład.
Uwagi
Ważne
Wywoływanie metod z tej klasy z niezaufanymi danymi jest zagrożeniem bezpieczeństwa. Wywołaj metody z tej klasy tylko z zaufanymi danymi. Aby uzyskać więcej informacji, zobacz Validate All Inputs (Weryfikowanie wszystkich danych wejściowych).
Klasa ResXResourceSet wylicza IResourceReaderwartość , ładuje każdą nazwę i wartość oraz przechowuje je w tabeli skrótów. Następnie można wyliczyć zasoby w ResXResourceSet obiekcie lub pobrać poszczególne zasoby według nazwy.
Obiekt ResXResourceSet zapewnia wygodny sposób odczytywania wszystkich zasobów w pliku resx do pamięci. Możesz użyć GetObject metody , aby pobrać określony zasób, gdy plik resx został odczytany ResXResourceSet do wystąpienia.
Uwagi dotyczące dziedziczenia
Klasy pochodne, które używają własnego czytnika ResXResourceSet zasobów i moduł zapisywania, powinny zastąpić GetDefaultReader() metody i GetDefaultWriter() w celu zapewnienia odpowiedniej funkcjonalności do interpretowania ResXResourceSet wystąpienia.
Konstruktory
ResXResourceSet(Stream) |
Inicjuje ResXResourceSet nowe wystąpienie klasy przy użyciu domyślnego systemu ResXResourceReader odczytu zasobów z określonego strumienia. |
ResXResourceSet(String) |
Inicjuje nowe wystąpienie ResXResourceSet klasy przy użyciu domyślnego ResXResourceReader systemu, który otwiera i odczytuje zasoby z określonego pliku. |
Pola
Reader |
IResourceReader Wskazuje używane do odczytywania zasobów. (Odziedziczone po ResourceSet) |
Table |
Element Hashtable , w którym są przechowywane zasoby. (Odziedziczone po ResourceSet) |
Metody
Close() |
Zamyka i zwalnia wszystkie zasoby używane przez ten ResourceSetprogram . (Odziedziczone po ResourceSet) |
Dispose() |
Usuwa zasoby (inne niż pamięć) używane przez bieżące wystąpienie programu ResourceSet. (Odziedziczone po ResourceSet) |
Dispose(Boolean) |
Zwalnia zasoby (inne niż pamięć) skojarzone z bieżącym wystąpieniem, zamykając wewnętrzne obiekty zarządzane, jeśli jest to wymagane. (Odziedziczone po ResourceSet) |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetDefaultReader() |
Zwraca preferowaną klasę czytnika ResXResourceSetzasobów dla tego rodzaju . |
GetDefaultWriter() |
Zwraca preferowaną klasę składnika zapisywania zasobów dla tego rodzaju ResXResourceSet. |
GetEnumerator() |
Zwraca wartość IDictionaryEnumerator , która może iterować za pomocą elementu ResourceSet. (Odziedziczone po ResourceSet) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetObject(String) |
Wyszukuje obiekt zasobu o określonej nazwie. (Odziedziczone po ResourceSet) |
GetObject(String, Boolean) |
Wyszukuje obiekt zasobu o określonej nazwie w sposób bez uwzględniania wielkości liter, jeśli jest to wymagane. (Odziedziczone po ResourceSet) |
GetString(String) |
String Wyszukuje zasób o określonej nazwie. (Odziedziczone po ResourceSet) |
GetString(String, Boolean) |
String Wyszukuje zasób o określonej nazwie w sposób bez uwzględniania wielkości liter, jeśli jest to wymagane. (Odziedziczone po ResourceSet) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ReadResources() |
Odczytuje wszystkie zasoby i przechowuje je we Hashtable wskazanej Table właściwości. (Odziedziczone po ResourceSet) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Jawne implementacje interfejsu
IEnumerable.GetEnumerator() |
Zwraca obiekt, IEnumerator aby uniknąć warunku wyścigu z |
Metody rozszerzania
Cast<TResult>(IEnumerable) |
Rzutuje elementy obiektu IEnumerable na określony typ. |
OfType<TResult>(IEnumerable) |
Filtruje elementy IEnumerable elementu na podstawie określonego typu. |
AsParallel(IEnumerable) |
Umożliwia równoległość zapytania. |
AsQueryable(IEnumerable) |
Konwertuje element IEnumerable na .IQueryable |