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
ResourceTypeCode
membro 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'enumerazioneResourceTypeCode
include i valori illustrati nella tabella seguente.Valore della proprietà ResourceTypeCode
Descrizione ResourceTypeCode.ByteArray
I dati sono una matrice di byte. ResourceTypeCode.Null
I dati sono un riferimento Null. ResourceTypeCode.Stream
I 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 delPerson
tipo nelloExtensions
spazio 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.