ResourceWriter.AddResourceData(String, String, Byte[]) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Agrega una unidad de datos como recurso a la lista de recursos que se va a escribir.
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
Nombre que identifica el recurso que contiene los datos agregados.
- typeName
- String
Nombre de tipo de los datos agregados.
- serializedData
- Byte[]
Matriz de bytes que contiene la representación binaria de los datos agregados.
Excepciones
name
, typeName
o serializedData
es null
.
name
(o un nombre que se diferencia sólo en las mayúsculas y minúsculas) ya se ha agregado a este objeto ResourceWriter.
No se ha inicializado el objeto ResourceWriter actual. La causa probable es que el objeto ResourceWriter esté cerrado.
Ejemplos
En el ejemplo siguiente se usa el AddResourceData método para escribir dos valores enteros en un archivo .resources y, a continuación, se usa un ResourceReader objeto para recuperarlos.
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
Comentarios
Use el AddResourceData método para agregar un recurso en formato binario (es decir, como una matriz de bytes) a la lista de recursos que se van a escribir. Debe especificar el nombre del recurso, el nombre de tipo de los datos contenidos en el recurso y la representación binaria de los propios datos. Después de agregar cada recurso que necesite, use el Generate método para escribir la lista de recursos en el archivo de recursos o secuencia que se especificó en el ResourceWriter constructor.
typeName
es una cadena que representa el tipo de datos del recurso. Puede ser cualquiera de los siguientes valores:
Representación de cadena de un
ResourceTypeCode
miembro de enumeración que indica el tipo de datos del recurso.ResourceTypeCode
es una enumeración privada que usa Resgen.exe para indicar que se usa un formato binario especial para almacenar uno de los 19 tipos de datos comunes. Entre ellos se incluyen los tipos de datos primitivos de .NET Framework (Boolean, Byte, Int64StringUInt16UInt32SByteUInt64DateTimeCharDoubleTimeSpanDecimalInt16Int32Singley . Además, laResourceTypeCode
enumeración incluye los valores que se muestran en la tabla siguiente.Valor de ResourceTypeCode
Descripción ResourceTypeCode.ByteArray
Los datos son una matriz de bytes. ResourceTypeCode.Null
Los datos son una referencia nula. ResourceTypeCode.Stream
Los datos se almacenan en una secuencia. Cadena que contiene el nombre completo del tipo cuyos datos binarios se asignan al
serializedData
argumento (por ejemplo,System.String
). Además, para los tipos que no forman parte de la biblioteca de clases de .NET Framework, la cadena incluye el nombre, la versión, la referencia cultural y la clave pública del ensamblado que contiene el tipo. Por ejemplo, la cadena siguiente indica que los datos serializados representan una instancia del tipo en elPerson
espacio de nombres , que se encuentra en laExtensions
versión 1.0 de un ensamblado denominado Utility que no tiene ninguna clave pública y ninguna referencia cultural designada.Extensions.Person, Utility, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
Un método paralelo para leer los datos de recursos escritos con el AddResourceData método es ResourceReader.GetResourceData.