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 en tant que ressource à la liste des 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 qui contient les données ajoutées.
- typeName
- String
Nom de type des données ajoutées.
- serializedData
- Byte[]
Tableau d’octets qui contient la représentation binaire des données ajoutées.
Exceptions
name, typeNameou serializedData est null.
name (ou un nom qui varie uniquement par mise en majuscule) a déjà été ajouté à cet ResourceWriter objet.
L’objet actuel ResourceWriter 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 sous forme binaire (autrement dit, sous la forme d’un 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 elle-même. 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 de ressources ou le flux 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
ResourceTypeCodemembre d’énumération qui indique le type de données de la ressource.ResourceTypeCodeest 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, Byte, Char, Decimal, Double, Int16, Int32, Int64, Single, SByte, UInt16, UInt32, UInt64), ainsi que String, DateTime et TimeSpan. En outre, l’énumérationResourceTypeCodeinclut les valeurs indiquées dans le tableau suivant.ResourceTypeCodeValeurDescription ResourceTypeCode.ByteArrayLes données sont un tableau d’octets. ResourceTypeCode.NullLes données sont une référence Null. ResourceTypeCode.StreamLes 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.StringEn 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’espace dePersonnoms, qui se trouve dans laExtensionsversion 1.0 d’un assembly nommé Utility qui n’a aucune clé publique et aucune 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.