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

Definition

Lägger till en dataenhet som en resurs i listan över resurser som ska skrivas.

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())

Parametrar

name
String

Ett namn som identifierar resursen som innehåller de tillagda data.

typeName
String

Typnamnet på de tillagda data.

serializedData
Byte[]

En bytematris som innehåller den binära representationen av de tillagda data.

Undantag

name, typeName, eller serializedData är null.

name (eller ett namn som bara varierar beroende på versaler) har redan lagts till i det här ResourceWriter objektet.

Det aktuella ResourceWriter objektet initieras inte. Den troliga orsaken är att objektet ResourceWriter är stängt.

Exempel

I följande exempel används AddResourceData metoden för att skriva två heltalsvärden till en .resources-fil och sedan använda ett ResourceReader -objekt för att hämta dem.

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

Kommentarer

AddResourceData Använd metoden för att lägga till en resurs i binär form (dvs. som en matris med byte) i listan över resurser som ska skrivas. Du måste ange namnet på resursen, typnamnet på data som finns i resursen och den binära representationen av själva data. När du har lagt till varje resurs som du behöver använder Generate du metoden för att skriva listan över resurser till resursfilen eller dataströmmen som angavs i ResourceWriter konstruktorn.

typeName är en sträng som representerar resursens datatyp. Det kan vara något av följande värden:

  • Strängrepresentationen av en ResourceTypeCode uppräkningsmedlem som anger resursens datatyp. ResourceTypeCode är en privat uppräkning som används av Resgen.exe för att indikera att ett särskilt binärt format används för att lagra en av 19 vanliga datatyper. Dessa omfattar primitiva .NET Framework-datatyper (Boolean, Byte, Char, Decimal, Double, Int16, Int32, Int64, Single, SByte, UInt16, UInt32, UInt64), samt String, DateTime och TimeSpan. Dessutom ResourceTypeCode innehåller uppräkningen de värden som visas i följande tabell.

    ResourceTypeCode värde Description
    ResourceTypeCode.ByteArray Data är en bytematris.
    ResourceTypeCode.Null Data är en null-referens.
    ResourceTypeCode.Stream Data lagras i en dataström.
  • En sträng som innehåller det fullständigt kvalificerade namnet på den typ vars binära data har tilldelats till argumentet (till serializedData exempel System.String). För typer som inte ingår i .NET Framework-klassbiblioteket innehåller strängen dessutom namn, version, kultur och offentlig nyckel för den sammansättning som innehåller typen. Följande sträng anger till exempel att serialiserade data representerar en instans av Person typen i Extensions namnområdet, som finns i version 1.0 av en sammansättning med namnet Utility som inte har någon offentlig nyckel och ingen angiven kultur.

    Extensions.Person, Utility, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null

En parallell metod för att läsa resursdata som skrivits AddResourceData med metoden är ResourceReader.GetResourceData.

Gäller för

Se även