ResXResourceSet Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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
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 |
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. |