ResXDataNode Sınıf

Tanım

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 trueolarak 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.

Şunlara uygulanır

Ayrıca bkz.