ResourceWriter.AddResourceData(String, String, Byte[]) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Adiciona uma unidade de dados como recurso à lista de recursos a escrever.
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())
Parâmetros
- name
- String
Um nome que identifica o recurso que contém os dados adicionados.
- typeName
- String
O nome do tipo dos dados adicionados.
- serializedData
- Byte[]
Um array de bytes que contém a representação binária dos dados adicionados.
Exceções
name, typeName, ou serializedData é null.
name (ou um nome que varia apenas por maiúscula) já foi adicionado a este ResourceWriter objeto.
O objeto atual ResourceWriter não está inicializado. A causa provável é que o ResourceWriter objeto está fechado.
Exemplos
O exemplo seguinte usa o AddResourceData método para escrever dois valores inteiros num ficheiro .resources, e depois usa um ResourceReader objeto para os recuperar.
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
Observações
Use o AddResourceData método para adicionar um recurso em forma binária (isto é, como um array de bytes) à lista de recursos a escrever. Deve especificar o nome do recurso, o nome do tipo dos dados contidos no recurso e a representação binária dos próprios dados. Depois de adicionar cada recurso que necessita, use o Generate método para escrever a lista de recursos no ficheiro ou fluxo de recursos especificado no ResourceWriter construtor.
typeName é uma cadeia que representa o tipo de dado do recurso. Pode ser qualquer um dos seguintes valores:
A representação em cadeia de um
ResourceTypeCodemembro de enumeração que indica o tipo de dado do recurso.ResourceTypeCodeé uma enumeração privada usada por Resgen.exe para indicar que um formato binário especial é usado para armazenar um dos 19 tipos de dados comuns. Estes incluem os tipos de dados primitivos do .NET Framework (Boolean, Byte, Char, Decimal, Double, Int16, Int32, Int64, Single, SByte, UInt16, UInt32, UInt64), bem como String, DateTime e TimeSpan. Além disso, aResourceTypeCodeenumeração inclui os valores apresentados na tabela seguinte.ResourceTypeCodevalorDescrição ResourceTypeCode.ByteArrayOs dados são um array de bytes. ResourceTypeCode.NullOs dados são uma referência nula. ResourceTypeCode.StreamOs dados são armazenados num fluxo. Uma cadeia que contém o nome totalmente qualificado do tipo cujos dados binários são atribuídos ao
serializedDataargumento (por exemplo,System.String). Além disso, para tipos que não fazem parte da biblioteca de classes .NET Framework, a cadeia inclui o nome, versão, cultura e chave pública do assembly que contém o tipo. Por exemplo, a cadeia seguinte indica que os dados serializados representam uma instância doPersontipo noExtensionsnamespace, que se encontra na versão 1.0 de uma assembly chamada Utility que não tem chave pública nem cultura designada.Extensions.Person, Utility, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
Um método paralelo para ler dados de recursos escritos com este AddResourceData método é ResourceReader.GetResourceData.