ResourceWriter.AddResourceData(String, String, Byte[]) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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
ResourceTypeCodeupprä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. DessutomResourceTypeCodeinnehåller uppräkningen de värden som visas i följande tabell.ResourceTypeCodevärdeDescription ResourceTypeCode.ByteArrayData är en bytematris. ResourceTypeCode.NullData är en null-referens. ResourceTypeCode.StreamData 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
serializedDataexempelSystem.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 avPersontypen iExtensionsnamnområ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.