ResourceWriter.AddResourceData(String, String, Byte[]) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menambahkan unit data sebagai sumber daya ke daftar sumber daya yang akan ditulis.
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())
Parameter
- name
- String
Nama yang mengidentifikasi sumber daya yang berisi data yang ditambahkan.
- typeName
- String
Nama jenis data yang ditambahkan.
- serializedData
- Byte[]
Array byte yang berisi representasi biner dari data yang ditambahkan.
Pengecualian
name
, typeName
, atau serializedData
adalah null
.
name
(atau nama yang hanya bervariasi berdasarkan kapitalisasi) telah ditambahkan ke objek ini ResourceWriter .
Objek saat ini ResourceWriter tidak diinisialisasi. Kemungkinan penyebabnya adalah objek ResourceWriter ditutup.
Contoh
Contoh berikut menggunakan AddResourceData metode untuk menulis dua nilai bilangan bulat ke file .resources, lalu menggunakan ResourceReader objek untuk mengambilnya.
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
Keterangan
AddResourceData Gunakan metode untuk menambahkan sumber daya dalam bentuk biner (yaitu, sebagai array byte) ke daftar sumber daya yang akan ditulis. Anda harus menentukan nama sumber daya, nama jenis data yang terkandung dalam sumber daya, dan representasi biner data itu sendiri. Setelah Anda menambahkan setiap sumber daya yang Anda butuhkan, gunakan Generate metode untuk menulis daftar sumber daya ke file sumber daya atau aliran yang ditentukan dalam ResourceWriter konstruktor.
typeName
adalah string yang mewakili jenis data sumber daya. Ini bisa menjadi salah satu nilai berikut:
Representasi string anggota
ResourceTypeCode
enumerasi yang menunjukkan jenis data sumber daya.ResourceTypeCode
adalah enumerasi privat yang digunakan oleh Resgen.exe untuk menunjukkan bahwa format biner khusus digunakan untuk menyimpan salah satu dari 19 jenis data umum. Ini termasuk jenis data primitif .NET Framework (Boolean, , Byte, DecimalChar, Double, Int16, Int32, Int64, SingleSByteUInt16, UInt32, ), UInt64serta String, DateTime, dan .TimeSpan Selain itu,ResourceTypeCode
enumerasi menyertakan nilai yang diperlihatkan dalam tabel berikut.ResourceTypeCode
nilaiDeskripsi ResourceTypeCode.ByteArray
Data adalah array byte. ResourceTypeCode.Null
Data adalah referensi null. ResourceTypeCode.Stream
Data disimpan dalam aliran. String yang berisi nama yang sepenuhnya memenuhi syarat dari jenis yang data binernya ditetapkan ke
serializedData
argumen (misalnya,System.String
). Selain itu, untuk jenis yang bukan bagian dari pustaka kelas .NET Framework, string menyertakan nama, versi, budaya, dan kunci publik assembly yang berisi jenis . Misalnya, string berikut menunjukkan bahwa data berseri mewakili instans jenisPerson
diExtensions
namespace, yang ditemukan dalam versi 1.0 dari rakitan bernama Utilitas yang tidak memiliki kunci publik dan tidak ada budaya yang ditunjuk.Extensions.Person, Utility, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
Metode paralel untuk membaca data sumber daya yang AddResourceData ditulis dengan metode adalah ResourceReader.GetResourceData.