Udostępnij za pośrednictwem


ResXResourceSet Klasa

Definicja

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
ResXResourceSet

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 Dispose. Ten element członkowski nie jest przeznaczony do użycia bezpośrednio z kodu.

(Odziedziczone po ResourceSet)

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

Dotyczy

Zobacz też