ResourceWriter.AddResourceData(String, String, Byte[]) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Aggiunge un'unità di dati come risorsa all'elenco di risorse da scrivere.
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())
Parametri
- name
- String
Nome che identifica la risorsa che contiene i dati aggiunti.
- typeName
- String
Nome del tipo di dati aggiunti.
- serializedData
- Byte[]
Matrice di byte che contiene la rappresentazione binaria dei dati aggiunti.
Eccezioni
name, typeName o serializedData è null.
name (o un nome che si differenzia solo per maiuscole/minuscole) è già stato aggiunto a questo oggetto ResourceWriter.
L'oggetto ResourceWriter corrente non è inizializzato. È probabile che l'oggetto ResourceWriter sia chiuso.
Esempio
Nell'esempio seguente viene utilizzato il AddResourceData metodo per scrivere due valori interi in un file con estensione resources e quindi viene usato un ResourceReader oggetto per recuperarli.
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
Commenti
Utilizzare il AddResourceData metodo per aggiungere una risorsa in formato binario, ovvero come matrice di byte, all'elenco di risorse da scrivere. È necessario specificare il nome della risorsa, il nome del tipo dei dati contenuti nella risorsa e la rappresentazione binaria dei dati stessi. Dopo aver aggiunto ogni risorsa necessaria, usare il Generate metodo per scrivere l'elenco di risorse nel file di risorse o nel flusso specificato nel ResourceWriter costruttore.
typeName è una stringa che rappresenta il tipo di dati della risorsa. Può essere uno dei valori seguenti:
Rappresentazione di stringa di un
ResourceTypeCodemembro di enumerazione che indica il tipo di dati della risorsa.ResourceTypeCodeè un'enumerazione privata utilizzata da Resgen.exe per indicare che viene usato un formato binario speciale per archiviare uno dei 19 tipi di dati comuni. Tra questi sono inclusi i tipi di dati primitivi di .NET Framework (Boolean, Byte, Int64DecimalDoubleInt16Int32SByteUInt16UInt32CharSingle, StringUInt64DateTimee .TimeSpan Inoltre, l'enumerazioneResourceTypeCodeinclude i valori illustrati nella tabella seguente.Valore della proprietà ResourceTypeCodeDescrizione ResourceTypeCode.ByteArrayI dati sono una matrice di byte. ResourceTypeCode.NullI dati sono un riferimento Null. ResourceTypeCode.StreamI dati vengono archiviati in un flusso. Stringa contenente il nome completo del tipo i cui dati binari vengono assegnati all'argomento
serializedData, ad esempioSystem.String. Inoltre, per i tipi che non fanno parte della libreria di classi .NET Framework, la stringa include il nome, la versione, le impostazioni cultura e la chiave pubblica dell'assembly che contiene il tipo. Ad esempio, la stringa seguente indica che i dati serializzati rappresentano un'istanza delPersontipo nelloExtensionsspazio dei nomi, disponibile nella versione 1.0 di un assembly denominato Utilità che non dispone di chiave pubblica e nessuna cultura designata.Extensions.Person, Utility, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
Un metodo parallelo per la lettura dei dati delle risorse scritti con il AddResourceData metodo è ResourceReader.GetResourceData.