ResourceWriter.AddResourceData(String, String, Byte[]) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
기록할 리소스 목록에 리소스로 데이터 단위를 추가합니다.
public:
void AddResourceData(System::String ^ name, System::String ^ typeName, cli::array <System::Byte> ^ serializedData);
public void AddResourceData (string name, string typeName, byte[] serializedData);
member this.AddResourceData : string * string * byte[] -> unit
Public Sub AddResourceData (name As String, typeName As String, serializedData As Byte())
매개 변수
- name
- String
추가된 데이터가 포함된 리소스를 식별하는 이름입니다.
- typeName
- String
추가된 데이터의 형식 이름입니다.
- serializedData
- Byte[]
추가된 데이터의 이진 표현을 포함하는 바이트 배열입니다.
예외
name
, typeName
또는 serializedData
가 null
입니다.
name
(또는 대문자 표시만 다른 이름)이 이 ResourceWriter 개체에 이미 추가되었습니다.
현재 ResourceWriter 개체가 초기화되지 않았습니다. 가능한 원인은 ResourceWriter 개체가 닫혀 있기 때문입니다.
예제
다음 예제에서는 메서드를 AddResourceData 사용하여 두 정수 값을 .resources 파일에 쓴 다음 개체를 ResourceReader 사용하여 검색합니다.
using System;
using System.Collections;
using System.Resources;
public class Example
{
public static void Main()
{
ResourceWriter rw = new ResourceWriter(@".\TypeResources.resources");
int n1 = 1032;
rw.AddResourceData("Integer1", "ResourceTypeCode.Int32", BitConverter.GetBytes(n1));
int n2 = 2064;
rw.AddResourceData("Integer2", "ResourceTypeCode.Int32", BitConverter.GetBytes(n2));
rw.Generate();
rw.Close();
ResourceReader rr = new ResourceReader(@".\TypeResources.resources");
IDictionaryEnumerator e = rr.GetEnumerator();
while (e.MoveNext())
Console.WriteLine("{0}: {1}", e.Key, e.Value);
}
}
// The example displays the following output:
// Integer2: 2064
// Integer1: 1032
Imports System.Collections
Imports System.Resources
Module Example
Public Sub Main()
Dim rw As New ResourceWriter(".\TypeResources.resources")
Dim n1 As Integer = 1032
rw.AddResourceData("Integer1", "ResourceTypeCode.Int32", BitConverter.GetBytes(n1))
Dim n2 As Integer = 2064
rw.AddResourceData("Integer2", "ResourceTypeCode.Int32", BitConverter.GetBytes(n2))
rw.Generate()
rw.Close()
Dim rr As New ResourceReader(".\TypeResources.resources")
Dim e As IDictionaryEnumerator = rr.GetEnumerator()
Do While e.MoveNext()
Console.WriteLine("{0}: {1}", e.Key, e.Value)
Loop
End Sub
End Module
' The example displays the following output:
' Integer2: 2064
' Integer1: 1032
설명
메서드를 AddResourceData 사용하여 쓸 리소스 목록에 이진 형식(바이트 배열)으로 리소스를 추가합니다. 리소스 이름, 리소스에 포함된 데이터의 형식 이름 및 데이터 자체의 이진 표현을 지정해야 합니다. 필요한 각 리소스를 추가한 후 메서드를 Generate 사용하여 리소스 목록을 생성자에 지정된 리소스 파일 또는 스트림에 ResourceWriter 씁니다.
typeName
는 리소스의 데이터 형식을 나타내는 문자열입니다. 다음 값 중 하나일 수 있습니다.
리소스의 데이터 형식을
ResourceTypeCode
나타내는 열거형 멤버의 문자열 표현입니다.ResourceTypeCode
는 19개의 공통 데이터 형식 중 하나를 저장하는 데 특수한 이진 형식이 사용됨을 나타내기 위해 Resgen.exe 사용하는 프라이빗 열거형입니다. 여기에는 .NET Framework 기본 데이터 형식(Boolean, , Byte, CharDecimal, DoubleInt32SingleUInt16SByteUInt64UInt32Int64Int16) 뿐만 String아니라 , DateTime및 가 포함되었습니다.TimeSpan 또한ResourceTypeCode
열거형에는 다음 표에 표시된 값이 포함됩니다.ResourceTypeCode
값Description ResourceTypeCode.ByteArray
데이터는 바이트 배열입니다. ResourceTypeCode.Null
데이터는 null 참조입니다. ResourceTypeCode.Stream
데이터는 스트림에 저장됩니다. 이진 데이터가 인수에 할당된
serializedData
형식의 정규화된 이름을 포함하는 문자열입니다(예:System.String
). 또한 .NET Framework 클래스 라이브러리의 일부가 아닌 형식의 경우 문자열에는 형식이 포함된 어셈블리의 이름, 버전, 문화권 및 공개 키가 포함됩니다. 예를 들어 다음 문자열은 serialize된 데이터가 네임스페이스에 있는 형식Extensions
의Person
instance 나타내며, 퍼블릭 키가 없고 지정된 문화권이 없는 Utility라는 어셈블리의 버전 1.0에 있습니다.Extensions.Person, Utility, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
메서드를 사용하여 작성된 AddResourceData 리소스 데이터를 읽는 병렬 메서드는 입니다 ResourceReader.GetResourceData.
적용 대상
추가 정보
.NET