Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método ResourceWriter.AddResourceData (String, String, Byte[])

 

Publicado: octubre de 2016

Agrega una unidad de datos como recurso a la lista de recursos que se va a escribir.

Espacio de nombres:   System.Resources
Ensamblado:  mscorlib (en mscorlib.dll)

public void AddResourceData(
	string name,
	string typeName,
	byte[] serializedData
)

Parámetros

name
Type: System.String

Nombre que identifica el recurso que contiene los datos agregados.

typeName
Type: System.String

Nombre de tipo de los datos agregados. Para obtener más información, vea la sección Comentarios.

serializedData
Type: System.Byte[]

Matriz de bytes que contiene la representación binaria de los datos agregados.

Exception Condition
ArgumentNullException

name, typeName o serializedData es null.

ArgumentException

Ya se ha agregado name (o un nombre que varía solo en mayúsculas y minúsculas) a este objeto ResourceWriter.

InvalidOperationException

El objeto ResourceWriter actual no se ha inicializado. La causa probable es que el objeto ResourceWriter esté cerrado.

Use la AddResourceData método para agregar un recurso en formato binario (es decir, como una matriz de bytes) a la lista de recursos que se va 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 datos en Sí. Una vez haya agregado cada recurso que necesite, utilice el Generate método para escribir la lista de recursos en el archivo de recursos o secuencia que se ha especificado en el ResourceWriter constructor.

typeNamees una cadena que representa el tipo de datos del recurso. Puede ser cualquiera de los siguientes valores:

  • La representación de cadena de un ResourceTypeCode miembro de enumeración que indica el tipo de datos del recurso. ResourceTypeCodees una enumeración privada que se utiliza para indicar que se usa un formato binario especial para almacenar uno de 19 tipos de datos comunes. These include the .NET Framework primitive data types (Boolean, Byte, Char, Decimal, Double, Int16, Int32, Int64, Single, SByte, UInt16, UInt32, UInt64), as well as String, DateTime, and TimeSpan. Además, la ResourceTypeCode enumeración incluye los valores mostrados 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.

  • Una cadena que contiene el nombre completo del tipo cuyos datos binarios se asignan a la 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 siguiente cadena indica que los datos serializados representan una instancia de la Person escriba en el Extensions espacio de nombres, que se encuentra en la versión 1.0 de un ensamblado denominado utilidad con 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 la AddResourceData método es ResourceReader.GetResourceData.

En el ejemplo siguiente se usa el AddResourceData método escribir entero dos valores en un archivo .resources y, a continuación, utiliza un ResourceReader objeto que se recuperarán.

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

.NET Framework
Disponible desde 2.0
Volver al principio
Mostrar: