ResourceWriter.AddResourceData(String, String, Byte[]) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Fügt eine Dateneinheit als Ressource zur Liste der zu schreibenden Ressourcen hinzu.
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
Ein Name, der die Ressource identifiziert, die die hinzugefügten Daten enthält.
- typeName
- String
Der Typname der hinzugefügten Daten.
- serializedData
- Byte[]
Ein Bytearray, das die binäre Darstellung der hinzugefügten Daten enthält.
Ausnahmen
name, typeNameoder serializedData ist .null
name (oder ein Name, der nur nach Groß-/Kleinschreibung variiert) wurde diesem ResourceWriter Objekt bereits hinzugefügt.
Das aktuelle ResourceWriter Objekt wird nicht initialisiert. Die wahrscheinliche Ursache ist, dass das ResourceWriter Objekt geschlossen wird.
Beispiele
Im folgenden Beispiel wird die AddResourceData Methode verwendet, um zwei ganzzahlige Werte in eine RESSOURCEN-Datei zu schreiben und anschließend ein ResourceReader Objekt zum Abrufen zu verwenden.
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
Hinweise
Verwenden Sie die AddResourceData Methode, um eine Ressource in binärer Form (d. h. als Bytearray) zur Liste der zu schreibenden Ressourcen hinzuzufügen. Sie müssen den Namen der Ressource, den Typnamen der in der Ressource enthaltenen Daten und die binäre Darstellung der Daten selbst angeben. Nachdem Sie jede ressource hinzugefügt haben, die Sie benötigen, verwenden Sie die Generate Methode, um die Liste der Ressourcen in die Ressourcendatei oder den Datenstrom zu schreiben, die ResourceWriter im Konstruktor angegeben wurde.
typeName ist eine Zeichenfolge, die den Datentyp der Ressource darstellt. Er kann folgende Werte annehmen:
Die Zeichenfolgendarstellung eines
ResourceTypeCodeEnumerationselements, das den Datentyp der Ressource angibt.ResourceTypeCodeist eine private Aufzählung, die von Resgen.exe verwendet wird, um anzugeben, dass ein spezielles Binärformat verwendet wird, um einen von 19 gängigen Datentypen zu speichern. Dazu gehören die primitiven Datentypen .NET Framework (Boolean, Byte, Char, Decimal, Double, Int16, Int32, Int64, Single, SByte, UInt16, UInt32, UInt64) sowie String, DateTime und TimeSpan. Darüber hinaus enthält dieResourceTypeCodeAufzählung die werte, die in der folgenden Tabelle angezeigt werden.ResourceTypeCodeWertBeschreibung ResourceTypeCode.ByteArrayDie Daten sind ein Bytearray. ResourceTypeCode.NullDie Daten sind ein Nullverweis. ResourceTypeCode.StreamDie Daten werden in einem Datenstrom gespeichert. Eine Zeichenfolge, die den vollqualifizierten Namen des Typs enthält, dessen Binärdaten dem
serializedDataArgument zugewiesen sind (z. BSystem.String. ). Darüber hinaus enthält die Zeichenfolge für Typen, die nicht Teil .NET Framework-Klassenbibliothek sind, den Namen, die Version, die Kultur und den öffentlichen Schlüssel der Assembly, die den Typ enthält. Die folgende Zeichenfolge gibt beispielsweise an, dass die serialisierten Daten eine Instanz desPersonTyps imExtensionsNamespace darstellen, die in Version 1.0 einer Assembly mit dem Namen Utility mit keinem öffentlichen Schlüssel und keiner bestimmten Kultur gefunden wird.Extensions.Person, Utility, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
Eine parallele Methode zum Lesen von Ressourcendaten, die mit der AddResourceData Methode geschrieben wurden, ist ResourceReader.GetResourceData.