ResourceWriter.AddResourceData(String, String, Byte[]) Yöntem
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.
Yazılacak kaynaklar listesine kaynak olarak bir veri birimi ekler.
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())
Parametreler
- name
- String
Eklenen verileri içeren kaynağı tanımlayan ad.
- typeName
- String
Eklenen verilerin tür adı.
- serializedData
- Byte[]
Eklenen verilerin ikili gösterimini içeren bir bayt dizisi.
Özel durumlar
name
, typeName
veya serializedData
şeklindedir null
.
name
(veya yalnızca büyük harfe çevirmeyle değişen bir ad) bu ResourceWriter nesneye zaten eklenmiş.
Geçerli ResourceWriter nesne başlatılmadı. Olası neden, nesnenin ResourceWriter kapalı olmasıdır.
Örnekler
Aşağıdaki örnek AddResourceData , bir .resources dosyasına iki tamsayı değeri yazmak için yöntemini kullanır ve sonra bunları almak için bir ResourceReader nesnesi kullanır.
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
Açıklamalar
AddResourceData Yazılacak kaynaklar listesine ikili biçimde (bayt dizisi olarak) bir kaynak eklemek için yöntemini kullanın. Kaynağın adını, kaynakta bulunan verilerin tür adını ve verilerin ikili gösterimini belirtmeniz gerekir. İstediğiniz her kaynağı ekledikten sonra, kaynak listesini oluşturucuda belirtilen kaynak dosyasına veya akışa ResourceWriter yazmak için yöntemini kullanınGenerate.
typeName
kaynağın veri türünü temsil eden bir dizedir. Aşağıdaki değerlerden herhangi biri olabilir:
Kaynağın veri türünü gösteren bir
ResourceTypeCode
numaralandırma üyesinin dize gösterimi.ResourceTypeCode
, Resgen.exe tarafından 19 ortak veri türünden birini depolamak için özel bir ikili biçimin kullanıldığını belirtmek için kullanılan özel bir numaralandırmadır. Bunlar .NET Framework temel veri türlerini (, , , , , , , Int32, Int64, SByteSingle, , UInt16, , UInt32, ), UInt64yanı Stringsıra , DateTimeve TimeSpaniçerir. Int16DoubleDecimalCharByteBoolean Ayrıca,ResourceTypeCode
numaralandırma aşağıdaki tabloda gösterilen değerleri içerir.ResourceTypeCode
DeğerDescription ResourceTypeCode.ByteArray
Veriler bir bayt dizisidir. ResourceTypeCode.Null
Veriler null başvurudur. ResourceTypeCode.Stream
Veriler bir akışta depolanır. bağımsız değişkenine ikili verileri atanmış
serializedData
türün tam adını içeren bir dize (örneğin,System.String
). Ayrıca, .NET Framework sınıf kitaplığının parçası olmayan türler için dize, türü içeren derlemenin adını, sürümünü, kültürünü ve ortak anahtarını içerir. Örneğin, aşağıdaki dize seri hale getirilmiş verilerin ad alanındaExtensions
türünPerson
bir örneğini temsil ettiğini gösterir. Bu örnek, ortak anahtar içermeyen ve belirlenmiş kültür içermeyen Utility adlı derlemenin 1.0 sürümünde bulunur.Extensions.Person, Utility, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
yöntemiyle AddResourceData yazılan kaynak verilerini okumak için paralel bir yöntemdir ResourceReader.GetResourceData.