Nyelv

ResXResourceSet Osztály

Definíció

Egy XML-erőforrás (.resx) fájl összes erőforrását jelöli.

public ref class ResXResourceSet : System::Resources::ResourceSet
public class ResXResourceSet : System.Resources.ResourceSet
type ResXResourceSet = class
    inherit ResourceSet
Public Class ResXResourceSet
Inherits ResourceSet
Öröklődés
ResXResourceSet

Példák

Az alábbi példa egy ResXResourceSet objektumot példányosít, és bemutatja, hogyan lehet számba adni az erőforrásokat, és hogyan lehet az egyes erőforrásokat név szerint lekérni. A példa az általa számontartott minden erőforrás esetében a IDictionaryEnumerator.Key tulajdonságot használja a hívásban GetStringGetObject , attól függően, hogy az erőforrás értéke sztring vagy objektum.

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

A példa meghív egy metódust CreateResXFile a szükséges XML-erőforrásfájl létrehozásához. Ehhez egy Logo.bmp nevű bitképfájlra van szükség abban a könyvtárban, amelyben a példa fut.

Megjegyzések

Important

Az osztályból származó metódusok nem megbízható adatokkal való meghívása biztonsági kockázatot jelent. Csak megbízható adatokkal hívja meg ennek az osztálynak a metódusait. További információ: Minden bemenet ellenőrzése.

Az ResXResourceSet osztály egy IResourceReader, minden nevet és értéket betölt, és egy kivonattáblában tárolja őket. Ezután számba vehet erőforrásokat az objektumban, vagy név szerint lekérheti az ResXResourceSet egyes erőforrásokat.

Az ResXResourceSet objektumok kényelmesen beolvashatók a .resx fájl összes erőforrását a memóriába. A metódussal GetObject lekérhet egy adott erőforrást, ha a .resx fájlt beolvasták egy ResXResourceSet példányba.

Megjegyzések az öröklőkhöz

A saját erőforrás-olvasót és -írót használó származtatott osztályoknak ResXResourceSet felül kell bírálniuk a GetDefaultReader() példány értelmezéséhez GetDefaultWriter() szükséges funkciókat és ResXResourceSet metódusokat.

Konstruktorok

Name Description
ResXResourceSet(Stream)

Inicializálja az osztály új példányát a ResXResourceSet rendszer alapértelmezett ResXResourceReader használatával, hogy beolvassa az erőforrásokat a megadott streamből.

ResXResourceSet(String)

Inicializálja az osztály új példányát az ResXResourceSet alapértelmezett ResXResourceReader rendszer használatával, amely megnyitja és beolvassa az erőforrásokat a megadott fájlból.

Mezők

Name Description
Reader

Az IResourceReader erőforrások olvasásához használt erőforrásokat jelzi.

(Öröklődés forrása ResourceSet)
Table

Az Hashtable erőforrások tárolási helye.

(Öröklődés forrása ResourceSet)

Metódusok

Name Description
Close()

Bezárja és felszabadítja az ebben ResourceSeta szakaszban használt erőforrásokat.

(Öröklődés forrása ResourceSet)
Dispose()

Az aktuális példány által használt erőforrások (a memória kivételével) elvetése ResourceSet.

(Öröklődés forrása ResourceSet)
Dispose(Boolean)

Felszabadítja az aktuális példányhoz társított erőforrásokat (a memória kivételével), és szükség esetén bezárja a belső felügyelt objektumokat.

(Öröklődés forrása ResourceSet)
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetDefaultReader()

Az ilyen típusú ResXResourceSeterőforrás-olvasó osztályt adja vissza.

GetDefaultWriter()

Az ilyen típusú erőforrás-író osztályt adja eredményül ResXResourceSet.

GetEnumerator()

Olyan értéket IDictionaryEnumerator ad vissza, amely át tudja haladni a ResourceSet.

(Öröklődés forrása ResourceSet)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetObject(String, Boolean)

Ha szükséges, a megadott névvel rendelkező erőforrás-objektumot keres, kis- és nagybetűket nem érzékelyítő módon.

(Öröklődés forrása ResourceSet)
GetObject(String)

A megadott névvel rendelkező erőforrás-objektumot keres.

(Öröklődés forrása ResourceSet)
GetString(String, Boolean)

Igény szerint kis- és nagybetűket nem érzékelyítő módon keres String a megadott névvel rendelkező erőforrásra.

(Öröklődés forrása ResourceSet)
GetString(String)

A megadott névvel rendelkező erőforrást keres String .

(Öröklődés forrása ResourceSet)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ReadResources()

Beolvassa az összes erőforrást, és a tulajdonságban Hashtable megadott helyen tárolja őket Table .

(Öröklődés forrása ResourceSet)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

Explicit interfész-implementációk

Name Description
IEnumerable.GetEnumerator()

Egy objektumot IEnumerator ad vissza, amellyel elkerülheti a versenyhelyzetet Dispose. Ez a tag nem használható közvetlenül a kódból.

(Öröklődés forrása ResourceSet)

Bővítő metódusok

Name Description
AsParallel(IEnumerable)

Lehetővé teszi a lekérdezés párhuzamosítását.

AsQueryable(IEnumerable)

Átalakítja az egyiket IEnumerableIQueryable.

Cast<TResult>(IEnumerable)

Egy elem elemeit IEnumerable a megadott típusra veti.

OfType<TResult>(IEnumerable)

Egy adott típus alapján szűri IEnumerable egy adott elem elemeit.

A következőre érvényes:

Lásd még