ResourceWriter.AddResource Metodo

Definizione

Aggiunge una risorsa all'elenco di risorse da scrivere.

Overload

AddResource(String, Byte[])

Aggiunge all'elenco di risorse da scrivere una risorsa denominata specificata come matrice di byte.

AddResource(String, Stream)

Aggiunge all'elenco di risorse da scrivere una risorsa denominata specificata come flusso.

AddResource(String, Object)

Aggiunge all'elenco di risorse da scrivere una risorsa denominata specificata come oggetto.

AddResource(String, String)

Aggiunge una risorsa di tipo stringa all'elenco di risorse da scrivere.

AddResource(String, Stream, Boolean)

Aggiunge all'elenco di risorse da scrivere una risorsa denominata specificata come flusso e specifica se il flusso deve essere chiuso dopo la chiamata al metodo Generate().

AddResource(String, Byte[])

Aggiunge all'elenco di risorse da scrivere una risorsa denominata specificata come matrice di byte.

public:
 virtual void AddResource(System::String ^ name, cli::array <System::Byte> ^ value);
public void AddResource (string name, byte[]? value);
public void AddResource (string name, byte[] value);
abstract member AddResource : string * byte[] -> unit
override this.AddResource : string * byte[] -> unit
Public Sub AddResource (name As String, value As Byte())

Parametri

name
String

Nome della risorsa.

value
Byte[]

Valore della risorsa come matrice di valori unsigned integer a 8 bit.

Implementazioni

Eccezioni

Il parametro name, oppure un nome che si differenzia solo per le maiuscole e le minuscole, è già stato aggiunto a questo oggetto ResourceWriter.

Il valore del parametro name è null.

Questo oggetto ResourceWriter è stato chiuso e la relativa tabella hash non è disponibile.

Esempio

Nell'esempio seguente viene utilizzato il metodo per aggiungere un'immagine grafica letta come AddResource(String, Byte[]) matrice di byte a un oggetto ResourceWriter .

using System;
using System.IO;
using System.Resources;

public class Example
{
   public static void Main()
   {
      // Get the image as an array of bytes.
      FileStream byteStream = new FileStream("AppIcon.jpg", FileMode.Open);
      Byte[] bytes = new Byte[(int) byteStream.Length];
      byteStream.Read(bytes, 0, (int) byteStream.Length);
      
      // Create the resource file.
      using (ResourceWriter rw = new ResourceWriter(@".\UIImages.resources")) {
         rw.AddResource("AppIcon", byteStream);
         // Add any other resources.
      }
   }
}
Imports System.IO
Imports System.Resources

Module Example
   Public Sub Main()                      
      ' Get the image as an array of bytes.
      Dim byteStream As New FileStream("AppIcon.jpg", Filemode.Open)
      Dim bytes(CInt(byteStream.Length - 1)) As Byte
      byteStream.Read(bytes, 0, CInt(byteStream.Length))
      
      ' Create the resource file.
      Using rw As New ResourceWriter(".\UIImages.resources")
         rw.AddResource("AppIcon", byteStream)
         ' Add any other resources.
      End Using
   End Sub
End Module

Commenti

La risorsa non viene scritta fino a quando Generate non viene chiamato .

È possibile recuperare le risorse scritte AddResource(String, Byte[]) dal metodo chiamando il metodo ResourceManager.GetStream .

Vedi anche

Si applica a

AddResource(String, Stream)

Aggiunge all'elenco di risorse da scrivere una risorsa denominata specificata come flusso.

public:
 void AddResource(System::String ^ name, System::IO::Stream ^ value);
public void AddResource (string name, System.IO.Stream? value);
public void AddResource (string name, System.IO.Stream value);
member this.AddResource : string * System.IO.Stream -> unit
Public Sub AddResource (name As String, value As Stream)

Parametri

name
String

Nome della risorsa da aggiungere.

value
Stream

Valore della risorsa da aggiungere. La risorsa deve supportare la proprietà di Length .

Eccezioni

Il parametro name, oppure un nome che si differenzia solo per le maiuscole e le minuscole, è già stato aggiunto a questo oggetto ResourceWriter.

-oppure-

Il flusso non supporta la proprietà Length.

name o value è null.

Questo oggetto ResourceWriter è stato chiuso.

Esempio

Nell'esempio seguente viene AddResource(String, Stream) utilizzato il metodo per aggiungere un'immagine grafica salvata in un oggetto in un oggetto MemoryStream ResourceWriter .

using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Resources;

public class Example
{
   public static void Main()
   {
      // Bitmap as stream
      MemoryStream bitmapStream = new MemoryStream();
      Bitmap bmp = new Bitmap(@".\\AppImage.jpg");
      bmp.Save(bitmapStream, ImageFormat.Jpeg);
          
      using (ResourceWriter rw = new ResourceWriter(@".\UIImages.resources"))
      {
         rw.AddResource("Bitmap", bitmapStream);
         // Add other resources.
      }
   }
}
Imports System.Drawing
Imports System.IO
Imports System.Resources

Module Example
   Public Sub Main()
      ' Bitmap as stream
      Dim bitmapStream As New MemoryStream()
      Dim bmp As New Bitmap(".\\AppImage.jpg")
      bmp.Save(bitmapStream, Imaging.ImageFormat.Jpeg)
          
      Using rw As New ResourceWriter(".\UIImages.resources")
         rw.AddResource("Bitmap", bitmapStream)
         ' Add other resources.
      End Using
   End Sub
End Module

Commenti

È possibile specificare qualsiasi flusso che supporti la Stream.Length proprietà per value .

È possibile recuperare le risorse scritte AddResource(String, Stream) dal metodo chiamando il metodo ResourceManager.GetStream .

Vedi anche

Si applica a

AddResource(String, Object)

Aggiunge all'elenco di risorse da scrivere una risorsa denominata specificata come oggetto.

public:
 virtual void AddResource(System::String ^ name, System::Object ^ value);
public void AddResource (string name, object? value);
public void AddResource (string name, object value);
abstract member AddResource : string * obj -> unit
override this.AddResource : string * obj -> unit
Public Sub AddResource (name As String, value As Object)

Parametri

name
String

Nome della risorsa.

value
Object

Valore della risorsa.

Implementazioni

Eccezioni

Il parametro name, oppure un nome che si differenzia solo per le maiuscole e le minuscole, è già stato aggiunto a questo oggetto ResourceWriter.

Il valore del parametro name è null.

Questo oggetto ResourceWriter è stato chiuso e la relativa tabella hash non è disponibile.

Esempio

Nell'esempio seguente viene utilizzato AddResource(String, Object) il metodo per aggiungere dati oggetto a un file di risorse binario.

using System;
using System.Resources;

public class Example
{
   public static void Main()
   {
      DonorColumns columns = new DonorColumns("Emplyee #", "Name", 
                                              "Total Amount", "Last Donation Date",
                                              "Last Donation Amount");
      ResourceWriter resFile = new ResourceWriter(@".\UIResources.resources");
      resFile.AddResource("Title", "Corporate Gold Star Donors");
      resFile.AddResource("NColumns", 5);
      resFile.AddResource("AppDate", new DateTime(2011, 5, 28));
      resFile.AddResource("AppVersion", new Version(1, 0, 217));
      resFile.AddResource("HRVersion", true);
      resFile.Generate();
      resFile.Close();               
   }
}

// Class to hold potentially localized column names.
[Serializable] public class DonorColumns
{
   readonly string ID;
   readonly string Name;
   readonly string Total;
   readonly string Last;
   readonly string Amt;

   public DonorColumns(string id, string name, string total, 
                  string last, string amt)
   {                  
      this.ID = id;
      this.Name = name;
      this.Total = total;
      this.Last = last;
      this.Amt = amt;                        
   }   
}

DonorColumns è una classe personalizzata i cui campi contengono i nomi delle colonne da visualizzare nell'interfaccia utente. Si noti che la classe è contrassegnata con SerializableAttribute l'attributo . In genere, la classe viene definita in un assembly separato e un riferimento a essa viene fornito al compilatore in fase di compilazione.

Commenti

value deve essere serializzabile.

La risorsa non viene scritta fino a quando Generate non viene chiamato il metodo .

È possibile recuperare le risorse scritte AddResource(String, Object) dal metodo chiamando il metodo ResourceManager.GetObject .

Vedi anche

Si applica a

AddResource(String, String)

Aggiunge una risorsa di tipo stringa all'elenco di risorse da scrivere.

public:
 virtual void AddResource(System::String ^ name, System::String ^ value);
public:
 void AddResource(System::String ^ name, System::String ^ value);
public void AddResource (string name, string? value);
public void AddResource (string name, string value);
abstract member AddResource : string * string -> unit
override this.AddResource : string * string -> unit
member this.AddResource : string * string -> unit
Public Sub AddResource (name As String, value As String)

Parametri

name
String

Nome della risorsa.

value
String

Valore della risorsa.

Implementazioni

Eccezioni

Il parametro name, oppure un nome che si differenzia solo per le maiuscole o le minuscole, è già stato aggiunto a questo ResourceWriter.

Il valore del parametro name è null.

Questo oggetto ResourceWriter è stato chiuso e la relativa tabella hash non è disponibile.

Esempio

Nell'esempio seguente viene utilizzato AddResource il metodo per aggiungere risorse stringa a un oggetto ResourceWriter .

using namespace System;
using namespace System::Resources;
using namespace System::IO;
int main()
{
   
   // Create a file stream to encapsulate items.resources.
   FileStream^ fs = gcnew FileStream( "items.resources",FileMode::OpenOrCreate,FileAccess::Write );
   
   // Open a resource writer to write from the stream.
   IResourceWriter^ writer = gcnew ResourceWriter( fs );
   
   // Add resources to the resource writer.
   writer->AddResource( "String 1", "First String" );
   writer->AddResource( "String 2", "Second String" );
   writer->AddResource( "String 3", "Third String" );
   
   // Write the resources to the stream, and close it.
   writer->Close();
}
using System;
using System.Resources;
using System.IO;

public class WriteResources 
{
    public static void Main(string[] args) 
    {  
        // Create a file stream to encapsulate items.resources.
        FileStream fs = new FileStream("items.resources", 
        FileMode.OpenOrCreate,FileAccess.Write);

        // Open a resource writer to write from the stream.
        IResourceWriter writer = new ResourceWriter(fs);
    
        // Add resources to the resource writer.
        writer.AddResource("String 1", "First String");
        writer.AddResource("String 2", "Second String");
        writer.AddResource("String 3", "Third String");

        // Write the resources to the stream, and close it.
        writer.Close();
    }
}
Imports System.Resources
Imports System.IO

Public Class WriteResources
   
    Public Shared Sub Main(args() As String)
        ' Create a file stream to encapsulate items.resources.
        Dim fs As New FileStream("items.resources", _
           FileMode.OpenOrCreate, FileAccess.Write)
      
        ' Open a resource writer to write from the stream.
        Dim writer = New ResourceWriter(fs)
      
        ' Add resources to the resource writer.
        writer.AddResource("String 1", "First String")
        writer.AddResource("String 2", "Second String")
        writer.AddResource("String 3", "Third String")
      
        ' Write the resources to the stream, and close it.
        writer.Close()
    End Sub

End Class

Commenti

La risorsa non viene scritta fino a quando Generate non viene chiamato .

È possibile recuperare le risorse scritte AddResource(String, String) dal metodo chiamando il metodo ResourceManager.GetString .

Vedi anche

Si applica a

AddResource(String, Stream, Boolean)

Aggiunge all'elenco di risorse da scrivere una risorsa denominata specificata come flusso e specifica se il flusso deve essere chiuso dopo la chiamata al metodo Generate().

public:
 void AddResource(System::String ^ name, System::IO::Stream ^ value, bool closeAfterWrite);
public void AddResource (string name, System.IO.Stream? value, bool closeAfterWrite = false);
public void AddResource (string name, System.IO.Stream value, bool closeAfterWrite);
member this.AddResource : string * System.IO.Stream * bool -> unit
Public Sub AddResource (name As String, value As Stream, Optional closeAfterWrite As Boolean = false)
Public Sub AddResource (name As String, value As Stream, closeAfterWrite As Boolean)

Parametri

name
String

Nome della risorsa da aggiungere.

value
Stream

Valore della risorsa da aggiungere. La risorsa deve supportare la proprietà di Length .

closeAfterWrite
Boolean

true per chiudere il flusso dopo la chiamata al metodo Generate(). In caso contrario, false.

Eccezioni

Il parametro name, oppure un nome che si differenzia solo per le maiuscole e le minuscole, è già stato aggiunto a questo oggetto ResourceWriter.

-oppure-

Il flusso non supporta la proprietà Length.

name o value è null.

Questo oggetto ResourceWriter è stato chiuso.

Esempio

Nell'esempio seguente viene AddResource(String, Stream, Boolean) utilizzato il metodo per aggiungere un'immagine grafica salvata in un oggetto in un oggetto MemoryStream ResourceWriter .

using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Resources;

public class Example
{
   public static void Main()
   {
      // Bitmap as stream
      MemoryStream bitmapStream = new MemoryStream();
      Bitmap bmp = new Bitmap(@".\\AppImage.jpg");
      bmp.Save(bitmapStream, ImageFormat.Jpeg);
          
      ResourceWriter rw = new ResourceWriter(@".\UIImages.resources");
      rw.AddResource("Bitmap", bitmapStream, true);
      // Add other resources.
      rw.Generate();
   }
}
Imports System.Drawing
Imports System.IO
Imports System.Resources

Module Example
   Public Sub Main()
      ' Bitmap as stream
      Dim bitmapStream As New MemoryStream()
      Dim bmp As New Bitmap(".\\AppImage.jpg")
      bmp.Save(bitmapStream, Imaging.ImageFormat.Jpeg)
          
      Dim rw As New ResourceWriter(".\UIImages.resources")
      rw.AddResource("Bitmap", bitmapStream, True)
      ' Add other resources.
      rw.Generate()
   End Sub
End Module

Commenti

È possibile specificare qualsiasi flusso che supporti la Stream.Length proprietà per value .

È possibile recuperare le risorse scritte AddResource(String, Stream, Boolean) dal metodo chiamando il metodo ResourceManager.GetStream .

Vedi anche

Si applica a