Bagikan melalui


ResourceWriter.AddResourceData(String, String, Byte[]) Metode

Definisi

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 nilai Deskripsi
    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 jenis Person di Extensions 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.

Berlaku untuk

Lihat juga