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

Definition

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 ResourceTypeCode Enumerationselements, das den Datentyp der Ressource angibt. ResourceTypeCode ist 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 die ResourceTypeCode Aufzählung die werte, die in der folgenden Tabelle angezeigt werden.

    ResourceTypeCode Wert Beschreibung
    ResourceTypeCode.ByteArray Die Daten sind ein Bytearray.
    ResourceTypeCode.Null Die Daten sind ein Nullverweis.
    ResourceTypeCode.Stream Die Daten werden in einem Datenstrom gespeichert.
  • Eine Zeichenfolge, die den vollqualifizierten Namen des Typs enthält, dessen Binärdaten dem serializedData Argument zugewiesen sind (z. B System.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 des Person Typs im Extensions Namespace 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.

Gilt für:

Weitere Informationen