ResXDataNode 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
XML 리소스(.resx) 파일의 요소를 나타냅니다.
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
- 상속
-
ResXDataNode
- 특성
- 구현
예제
다음 예제에서는 메서드를 ResXResourceReader.GetEnumerator 사용하여 .resx 파일에서 개체를 열거하는 ResXDataNode 데 사용되는 개체를 가져옵니다IDictionaryEnumerator. 이 예제에는 필요한 XML 리소스 파일을 만드는 루틴이 포함되어 CreateResourceFile
있습니다.
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 이므로 속성의 IDictionaryEnumerator.Value 값은 리소스 값이 아닌 개체 ResXDataNodetrue
입니다. 이렇게 하면 속성에서 리소스 항목의 주석을 ResXDataNode.Comment 사용할 수 있습니다.
설명
중요
신뢰할 수 없는 데이터로 이 클래스에서 메서드를 호출하는 것은 보안상 위험합니다. 신뢰할 수 있는 데이터로만 이 클래스에서 메서드를 호출하세요. 자세한 내용은 모든 입력 유효성 검사를 참조하세요.
클래스는 ResXDataNode 리소스 파일 내에서 서식 있는 데이터 형식의 표현을 지원합니다. 개체가 serialization 및 형식 편집기를 지원하는 한 리소스 파일에 있는 개체의 스토리지를 지원할 수 있습니다.
오버로드된 클래스 생성자 중 하나를 호출하여 개체를 만들 ResXDataNode 수 있습니다. 그런 다음 메서드를 호출 ResXResourceWriter.AddResource 하여 리소스 항목 또는 요소를 리소스 파일에 추가할 수 있습니다.
기존 ResXDataNode 개체를 검색하려면 개체를 인스턴스 ResXResourceReader 화 ResXDataNode 하고, 속성을 true
로 설정하고ResXResourceReader.UseResXDataNodes, 메서드를 호출 ResXResourceReader.GetEnumerator 하여 열거자를 가져와서 XML 리소스 파일의 개체를 열거해야 합니다. 예제에서는 그림을 제공합니다.
생성자
ResXDataNode(String, Object) |
ResXDataNode 클래스의 새 인스턴스를 초기화합니다. |
ResXDataNode(String, Object, Func<Type,String>) |
ResXDataNode 클래스의 새 인스턴스를 초기화합니다. |
ResXDataNode(String, ResXFileRef) |
리소스 파일에 대한 참조를 사용하여 ResXDataNode 클래스의 새 인스턴스를 초기화합니다. |
ResXDataNode(String, ResXFileRef, Func<Type,String>) |
리소스 파일에 대한 참조를 사용하여 ResXDataNode 클래스의 새 인스턴스를 초기화합니다. |
속성
Comment |
이 리소스와 관련된 임의의 설명을 가져오거나 설정합니다. |
FileRef |
이 리소스에 대한 파일 참조를 가져옵니다. |
Name |
이 리소스의 이름을 가져오거나 설정합니다. |
메서드
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetNodePosition() |
리소스 파일에서의 리소스 위치를 검색합니다. |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
GetValue(AssemblyName[]) |
지정된 어셈블리를 검색함으로서 이 노드에 의해 저장된 개체를 검색합니다. |
GetValue(ITypeResolutionService) |
지정된 유형 해결 서비스를 사용하여 이 노드로 저장된 개체를 검색합니다. |
GetValueTypeName(AssemblyName[]) |
지정된 어셈블리를 검색하여 값에 대한 type name을 검색합니다. |
GetValueTypeName(ITypeResolutionService) |
지정된 유형 해결 서비스를 사용하여 값에 대한 유형명을 검색합니다. |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
명시적 인터페이스 구현
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
대상 개체를 직렬화하는 데 필요한 데이터로 SerializationInfo 개체를 채웁니다. |
적용 대상
추가 정보
.NET