ResourceWriter.AddResourceData(String, String, Byte[]) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Ajoute une unité de données comme ressource dans la liste de ressources à écrire.
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())
Paramètres
- name
- String
Nom qui identifie la ressource contenant les données ajoutées.
- typeName
- String
Nom du type des données ajoutées.
- serializedData
- Byte[]
Tableau d’octets qui contient la représentation binaire des données ajoutées.
Exceptions
name
, typeName
ou serializedData
est null
.
name
(ou un nom qui diffère uniquement par les majuscules) a déjà été ajouté à cet objet ResourceWriter.
L’objet ResourceWriter actuel n’est pas initialisé. La cause probable est que l’objet ResourceWriter est fermé.
Exemples
L’exemple suivant utilise la AddResourceData méthode pour écrire deux valeurs entières dans un fichier .resources, puis utilise un ResourceReader objet pour les récupérer.
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
Remarques
Utilisez la AddResourceData méthode pour ajouter une ressource au format binaire (autrement dit, sous forme de tableau d’octets) à la liste des ressources à écrire. Vous devez spécifier le nom de la ressource, le nom de type des données contenues dans la ressource et la représentation binaire des données elles-mêmes. Une fois que vous avez ajouté chaque ressource dont vous avez besoin, utilisez la Generate méthode pour écrire la liste des ressources dans le fichier ou le flux de ressources spécifié dans le ResourceWriter constructeur.
typeName
est une chaîne qui représente le type de données de la ressource. Il peut s’agir de l’une des valeurs suivantes :
Représentation sous forme de chaîne d’un
ResourceTypeCode
membre d’énumération qui indique le type de données de la ressource.ResourceTypeCode
est une énumération privée utilisée par Resgen.exe pour indiquer qu’un format binaire spécial est utilisé pour stocker l’un des 19 types de données courants. Il s’agit notamment des types de données primitifs .NET Framework (Boolean, CharByte, Int64Int16SByteDoubleDecimalInt32Single, UInt16, UInt64StringUInt32DateTimeet .TimeSpan En outre, l’énumérationResourceTypeCode
inclut les valeurs indiquées dans le tableau suivant.Valeur ResourceTypeCode
Description ResourceTypeCode.ByteArray
Les données sont un tableau d’octets. ResourceTypeCode.Null
Les données sont une référence null. ResourceTypeCode.Stream
Les données sont stockées dans un flux. Chaîne qui contient le nom complet du type dont les données binaires sont affectées à l’argument
serializedData
(par exemple,System.String
). En outre, pour les types qui ne font pas partie de la bibliothèque de classes .NET Framework, la chaîne inclut le nom, la version, la culture et la clé publique de l’assembly qui contient le type. Par exemple, la chaîne suivante indique que les données sérialisées représentent une instance du type dans l’espacePerson
de noms, qui se trouve dans laExtensions
version 1.0 d’un assembly nommé Utility qui n’a ni clé publique ni culture désignée.Extensions.Person, Utility, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
Une méthode parallèle pour lire les données de ressource écrites avec la AddResourceData méthode est ResourceReader.GetResourceData.