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
是Resgen.exe用來指出特殊二進位格式用來儲存 19 種常見數據類型之一的私人列舉。 這些包括 .NET Framework 基本數據類型 (Boolean、Byte、Int64Int16DecimalDoubleCharInt32) DateTimeString、 SingleUInt32SByteUInt16UInt64 和 。TimeSpan 此外,ResourceTypeCode
列舉也包含下表中顯示的值。ResourceTypeCode
值描述 ResourceTypeCode.ByteArray
數據是位元組陣列。 ResourceTypeCode.Null
數據是 Null 參考。 ResourceTypeCode.Stream
數據會儲存在數據流中。 字串,包含類型的完整名稱,其二進位數據會指派給
serializedData
自變數 (例如)System.String
。 此外,對於不屬於 .NET Framework 類別庫的類型,字串會包含包含類型之元件的名稱、版本、文化特性和公鑰。 例如,下列字串表示串行化數據代表命名空間中Extensions
型別的Person
實例,該實例位於名為Utility的元件1.0版中,該元件沒有公鑰且沒有指定的文化特性。Extensions.Person, Utility, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
用來讀取以 AddResourceData 方法 ResourceReader.GetResourceData寫入之資源資料的平行方法是 。