ResourceWriter.AddResourceData(String, String, Byte[]) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Voegt een gegevenseenheid als resource toe aan de lijst met resources die moeten worden geschreven.
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())
Parameters
- name
- String
Een naam die de resource identificeert die de toegevoegde gegevens bevat.
- typeName
- String
De typenaam van de toegevoegde gegevens.
- serializedData
- Byte[]
Een bytematrix die de binaire weergave van de toegevoegde gegevens bevat.
Uitzonderingen
name, typeNameof serializedData is null.
name (of een naam die alleen varieert met hoofdlettergebruik) is al toegevoegd aan dit ResourceWriter object.
Het huidige ResourceWriter object is niet geïnitialiseerd. De waarschijnlijke oorzaak is dat het ResourceWriter object is gesloten.
Voorbeelden
In het volgende voorbeeld wordt de AddResourceData methode gebruikt om twee gehele getallen naar een .resources-bestand te schrijven en vervolgens een ResourceReader object te gebruiken om ze op te halen.
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
Opmerkingen
Gebruik de AddResourceData methode om een resource in binaire vorm (dat wil gezegd, als matrix van bytes) toe te voegen aan de lijst met resources die moeten worden geschreven. U moet de naam van de resource, de typenaam van de gegevens in de resource en de binaire weergave van de gegevens zelf opgeven. Nadat u elke resource hebt toegevoegd die u nodig hebt, gebruikt u de Generate methode om de lijst met resources te schrijven naar het resourcesbestand of de stroom die is opgegeven in de ResourceWriter constructor.
typeName is een tekenreeks die het gegevenstype van de resource vertegenwoordigt. Dit kan een van de volgende waarden zijn:
De tekenreeksweergave van een
ResourceTypeCodeopsommingslid dat het gegevenstype van de resource aangeeft.ResourceTypeCodeis een persoonlijke opsomming die door Resgen.exe wordt gebruikt om aan te geven dat een speciale binaire indeling wordt gebruikt om een van de 19 algemene gegevenstypen op te slaan. Deze omvatten de primitieve gegevenstypen van .NET Framework (Boolean, Byte, Char, Decimal, Double, Int16, Int32, Int64, Single, SByte, UInt16, UInt32, UInt64), evenals String, DateTime en TimeSpan. Daarnaast bevat deResourceTypeCodeopsomming de waarden die in de volgende tabel worden weergegeven.ResourceTypeCodewaardeDescription ResourceTypeCode.ByteArrayDe gegevens zijn een bytematrix. ResourceTypeCode.NullDe gegevens zijn een null-verwijzing. ResourceTypeCode.StreamDe gegevens worden opgeslagen in een stroom. Een tekenreeks die de volledig gekwalificeerde naam van het type bevat waarvan binaire gegevens zijn toegewezen aan het
serializedDataargument (bijvoorbeeldSystem.String). Bovendien bevat de tekenreeks voor typen die geen deel uitmaken van .NET Framework-klassebibliotheek de naam, versie, cultuur en openbare sleutel van de assembly die het type bevat. De volgende tekenreeks geeft bijvoorbeeld aan dat de geserialiseerde gegevens een exemplaar van hetPersontype in deExtensionsnaamruimte vertegenwoordigen, dat wordt gevonden in versie 1.0 van een assembly met de naam Utility die geen openbare sleutel en geen aangewezen cultuur heeft.Extensions.Person, Utility, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
Een parallelle methode voor het lezen van resourcegegevens die zijn geschreven met de AddResourceData methode is ResourceReader.GetResourceData.