ResXDataNode Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
XML kaynağı (.resx) dosyasındaki bir öğeyi temsil eder.
public ref class ResXDataNode sealed : System::Runtime::Serialization::ISerializable
[System.Serializable]
public sealed class ResXDataNode : System.Runtime.Serialization.ISerializable
public sealed class ResXDataNode : System.Runtime.Serialization.ISerializable
[<System.Serializable>]
type ResXDataNode = class
interface ISerializable
type ResXDataNode = class
interface ISerializable
Public NotInheritable Class ResXDataNode
Implements ISerializable
- Devralma
-
ResXDataNode
- Öznitelikler
- Uygulamalar
Örnekler
Aşağıdaki örnek, bir .resx dosyasındaki nesneleri listelemek ResXDataNode için kullanılan bir IDictionaryEnumerator nesneyi almak için yöntemini kullanırResXResourceReader.GetEnumerator. Örnek, gerekli XML kaynak dosyasını oluşturan bir CreateResourceFile
yordam içerir.
using System;
using System.Collections;
using System.ComponentModel.Design;
using System.Resources;
public class Example
{
private const string resxFilename = @".\CountryHeaders.resx";
public static void Main()
{
// Create a resource file to read.
CreateResourceFile();
// Enumerate the resources in the file.
ResXResourceReader rr = new ResXResourceReader(resxFilename);
rr.UseResXDataNodes = true;
IDictionaryEnumerator dict = rr.GetEnumerator();
while (dict.MoveNext()) {
ResXDataNode node = (ResXDataNode) dict.Value;
Console.WriteLine("{0,-20} {1,-20} {2}",
node.Name + ":",
node.GetValue((ITypeResolutionService) null),
! String.IsNullOrEmpty(node.Comment) ? "// " + node.Comment : "");
}
}
private static void CreateResourceFile()
{
ResXResourceWriter rw = new ResXResourceWriter(resxFilename);
string[] resNames = {"Country", "Population", "Area",
"Capital", "LCity" };
string[] columnHeaders = { "Country Name", "Population (2010}",
"Area", "Capital", "Largest City" };
string[] comments = { "The localized country name", "Estimated population, 2010",
"The area in square miles", "Capital city or chief administrative center",
"The largest city based on 2010 data" };
rw.AddResource("Title", "Country Information");
rw.AddResource("nColumns", resNames.Length);
for (int ctr = 0; ctr < resNames.Length; ctr++) {
ResXDataNode node = new ResXDataNode(resNames[ctr], columnHeaders[ctr]);
node.Comment = comments[ctr];
rw.AddResource(node);
}
rw.Generate();
rw.Close();
}
}
// The example displays the following output:
// Title: Country Information
// nColumns: 5
// Country: Country Name // The localized country name
// Population: Population (2010} // Estimated population, 2010
// Area: Area // The area in square miles
// Capital: Capital // Capital city or chief administrative center
// LCity: Largest City // The largest city based on 2010 data
Imports System.Collections
Imports System.ComponentModel.Design
Imports System.Resources
Module Example
Private Const resxFilename As String = ".\CountryHeaders.resx"
Public Sub Main()
' Create a resource file to read.
CreateResourceFile()
' Enumerate the resources in the file.
Dim rr As New ResXResourceReader(resxFilename)
rr.UseResXDataNodes = True
Dim dict As IDictionaryEnumerator = rr.GetEnumerator()
Do While dict.MoveNext()
Dim node As ResXDataNode = DirectCast(dict.Value, ResXDataNode)
Console.WriteLine("{0,-20} {1,-20} {2}",
node.Name + ":",
node.GetValue(CType(Nothing, ITypeResolutionService)),
If(Not String.IsNullOrEmpty(node.Comment), "// " + node.Comment, ""))
Loop
End Sub
Private Sub CreateResourceFile()
Dim rw As New ResxResourceWriter(resxFilename)
Dim resNames() As String = {"Country", "Population", "Area",
"Capital", "LCity" }
Dim columnHeaders() As String = { "Country Name", "Population (2010}",
"Area", "Capital", "Largest City" }
Dim comments() As String = { "The localized country name", "Estimated population, 2010",
"The area in square miles", "Capital city or chief administrative center",
"The largest city based on 2010 data" }
rw.AddResource("Title", "Country Information")
rw.AddResource("nColumns", resNames.Length)
For ctr As Integer = 0 To resNames.Length - 1
Dim node As New ResXDataNode(resNames(ctr), columnHeaders(ctr))
node.Comment = comments(ctr)
rw.AddResource(node)
Next
rw.Generate()
rw.Close()
End Sub
End Module
' The example displays the following output:
' Title: Country Information
' nColumns: 5
' Country: Country Name // The localized country name
' Population: Population (2010} // Estimated population, 2010
' Area: Area // The area in square miles
' Capital: Capital // Capital city or chief administrative center
' LCity: Largest City // The largest city based on 2010 data
UseResXDataNodes özelliği olduğundantrue
, özelliğin IDictionaryEnumerator.Value değeri kaynak değeri yerine bir ResXDataNode nesnedir. Bu, bir kaynak öğesinin açıklamasını özelliğinden ResXDataNode.Comment kullanılabilir hale getirir.
Açıklamalar
Önemli
Güvenilmeyen verilerle bu sınıftan yöntemleri çağırmak bir güvenlik riskidir. Bu sınıftaki yöntemleri yalnızca güvenilen verilerle çağırın. Daha fazla bilgi için bkz. Tüm Girişleri Doğrulama.
sınıfı, ResXDataNode bir kaynak dosyası içindeki zengin veri türlerinin temsilini destekler. Nesne serileştirmeyi ve tür düzenleyicilerini desteklediği sürece bir kaynak dosyasındaki herhangi bir nesnenin depolanmasını destekleyebilir.
Aşırı yüklenmiş sınıf oluşturucularından birini çağırarak bir ResXDataNode nesnesi oluşturabilirsiniz. Ardından yöntemini çağırarak ResXResourceWriter.AddResource kaynak öğesini veya öğesini bir kaynak dosyasına ekleyebilirsiniz.
Var olan ResXDataNode bir nesneyi almak için, bir nesne örneği ResXDataNode oluşturarakResXResourceReader, özelliğini true
olarak ayarlayarak ResXResourceReader.UseResXDataNodes ve bir numaralandırıcı almak için yöntemini çağırarak xml kaynak dosyasındaki ResXResourceReader.GetEnumerator nesneleri listelemeniz gerekir. Örnek, bir gösterim sağlar.
Oluşturucular
ResXDataNode(String, Object) |
ResXDataNode sınıfının yeni bir örneğini başlatır. |
ResXDataNode(String, Object, Func<Type,String>) |
ResXDataNode sınıfının yeni bir örneğini başlatır. |
ResXDataNode(String, ResXFileRef) |
Bir kaynak dosyasına başvuru ile sınıfının yeni bir örneğini ResXDataNode başlatır. |
ResXDataNode(String, ResXFileRef, Func<Type,String>) |
Bir kaynak dosyasına başvuru ile sınıfının yeni bir örneğini ResXDataNode başlatır. |
Özellikler
Comment |
Bu kaynakla ilgili rastgele bir açıklama alır veya ayarlar. |
FileRef |
Bu kaynağın dosya başvurularını alır. |
Name |
Bu kaynağın adını alır veya ayarlar. |
Yöntemler
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetNodePosition() |
Kaynağın kaynak dosyasındaki konumunu alır. |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
GetValue(AssemblyName[]) |
Belirtilen derlemelerde arama yaparak bu düğüm tarafından depolanan nesneyi alır. |
GetValue(ITypeResolutionService) |
Belirtilen tür çözümleme hizmetini kullanarak bu düğüm tarafından depolanan nesneyi alır. |
GetValueTypeName(AssemblyName[]) |
Belirtilen derlemeleri inceleyerek değerin tür adını alır. |
GetValueTypeName(ITypeResolutionService) |
Belirtilen tür çözümleme hizmetini kullanarak değerin tür adını alır. |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |
Belirtik Arabirim Kullanımları
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Bir SerializationInfo nesneyi hedef nesneyi seri hale getirmek için gereken verilerle doldurur. |