Compartilhar via


ResourceWriter.AddResource Método

Definição

Adiciona um recurso à lista de recursos a serem gravados.

Sobrecargas

AddResource(String, Byte[])

Adiciona um recurso nomeado especificado como uma matriz de bytes para a lista de recursos a serem gravados.

AddResource(String, Stream)

Adiciona um recurso nomeado especificado como um fluxo à lista de recursos a serem gravados.

AddResource(String, Object)

Adiciona um recurso nomeado especificado como um objeto para a lista de recursos a serem gravados.

AddResource(String, String)

Adiciona um recurso de cadeia de caracteres à lista de recursos a ser gravado.

AddResource(String, Stream, Boolean)

Adiciona um recurso nomeado especificado como um fluxo à lista de recursos a serem gravados e especifica se o fluxo deverá ser fechado depois que o método Generate() for chamado.

AddResource(String, Byte[])

Origem:
ResourceWriter.cs
Origem:
ResourceWriter.cs
Origem:
ResourceWriter.cs

Adiciona um recurso nomeado especificado como uma matriz de bytes para a lista de recursos a serem gravados.

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())

Parâmetros

name
String

O nome do recurso.

value
Byte[]

Valor do recurso como uma matriz de inteiros sem sinal de 8 bits.

Implementações

Exceções

name (ou um nome que varia de acordo apenas com maiúsculas e minúsculas) já foi adicionado a este ResourceWriter.

O parâmetro name é null.

Este ResourceWriter foi fechado e sua tabela de hash não está disponível.

Exemplos

O exemplo a seguir usa o AddResource(String, Byte[]) método para adicionar uma imagem gráfica que foi lida como uma matriz de bytes a um ResourceWriter objeto .

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

Comentários

O recurso não é gravado até Generate que seja chamado.

Você pode recuperar os recursos gravados pelo AddResource(String, Byte[]) método chamando o ResourceManager.GetStream método .

Confira também

Aplica-se a

AddResource(String, Stream)

Origem:
ResourceWriter.core.cs
Origem:
ResourceWriter.core.cs
Origem:
ResourceWriter.core.cs

Adiciona um recurso nomeado especificado como um fluxo à lista de recursos a serem gravados.

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)

Parâmetros

name
String

O nome do recurso a ser adicionado.

value
Stream

O valor do recurso a ser adicionado. O recurso deve dar suporte à propriedade Length.

Exceções

name (ou um nome que varia de acordo apenas com maiúsculas e minúsculas) já foi adicionado a este ResourceWriter.

- ou -

O fluxo não dá suporte à propriedade Length.

name ou value é null.

Exemplos

O exemplo a seguir usa o AddResource(String, Stream) método para adicionar uma imagem gráfica que foi salva em um MemoryStream objeto a um ResourceWriter objeto .

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

Comentários

Você pode especificar qualquer fluxo que dê suporte à Stream.Length propriedade para value.

Você pode recuperar os recursos gravados pelo AddResource(String, Stream) método chamando o ResourceManager.GetStream método .

Confira também

Aplica-se a

AddResource(String, Object)

Origem:
ResourceWriter.cs
Origem:
ResourceWriter.cs
Origem:
ResourceWriter.cs

Adiciona um recurso nomeado especificado como um objeto para a lista de recursos a serem gravados.

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)

Parâmetros

name
String

O nome do recurso.

value
Object

O valor do recurso.

Implementações

Exceções

name (ou um nome que varia de acordo apenas com maiúsculas e minúsculas) já foi adicionado a este ResourceWriter.

O parâmetro name é null.

Este ResourceWriter foi fechado e sua tabela de hash não está disponível.

Exemplos

O exemplo a seguir usa o AddResource(String, Object) método para adicionar dados de objeto a um arquivo de recursos binários.

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 é uma classe personalizada cujos campos contêm os nomes das colunas a serem exibidas na interface do usuário. Observe que a classe é marcada com o SerializableAttribute atributo . Normalmente, a classe seria definida em um assembly separado e uma referência a ela seria fornecida ao compilador em tempo de compilação.

Comentários

value deve ser serializável.

O recurso não é gravado até que o Generate método seja chamado.

Você pode recuperar os recursos gravados pelo AddResource(String, Object) método chamando o ResourceManager.GetObject método .

Confira também

Aplica-se a

AddResource(String, String)

Origem:
ResourceWriter.cs
Origem:
ResourceWriter.cs
Origem:
ResourceWriter.cs

Adiciona um recurso de cadeia de caracteres à lista de recursos a ser gravado.

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)

Parâmetros

name
String

O nome do recurso.

value
String

O valor do recurso.

Implementações

Exceções

name (ou um nome que varia apenas de acordo com o uso de maiúsculas) já foi adicionado a este ResourceWriter.

O parâmetro name é null.

Este ResourceWriter foi fechado e sua tabela de hash não está disponível.

Exemplos

O exemplo a seguir usa o AddResource método para adicionar recursos de cadeia de caracteres a um ResourceWriter objeto .

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

Comentários

O recurso não é gravado até Generate que seja chamado.

Você pode recuperar os recursos gravados pelo AddResource(String, String) método chamando o ResourceManager.GetString método .

Confira também

Aplica-se a

AddResource(String, Stream, Boolean)

Origem:
ResourceWriter.cs
Origem:
ResourceWriter.cs
Origem:
ResourceWriter.cs

Adiciona um recurso nomeado especificado como um fluxo à lista de recursos a serem gravados e especifica se o fluxo deverá ser fechado depois que o método Generate() for chamado.

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)

Parâmetros

name
String

O nome do recurso a ser adicionado.

value
Stream

O valor do recurso a ser adicionado. O recurso deve dar suporte à propriedade Length.

closeAfterWrite
Boolean

true para fechar o fluxo após o método Generate() ser chamado; caso contrário, false.

Exceções

name (ou um nome que varia de acordo apenas com maiúsculas e minúsculas) já foi adicionado a este ResourceWriter.

- ou -

O fluxo não dá suporte à propriedade Length.

name ou value é null.

Exemplos

O exemplo a seguir usa o AddResource(String, Stream, Boolean) método para adicionar uma imagem gráfica que foi salva em um MemoryStream objeto a um ResourceWriter objeto .

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

Comentários

Você pode especificar qualquer fluxo que dê suporte à Stream.Length propriedade para value.

Você pode recuperar os recursos gravados pelo AddResource(String, Stream, Boolean) método chamando o ResourceManager.GetStream método .

Confira também

Aplica-se a