Partilhar via


ResourceWriter.Generate Método

Definição

Salva todos os recursos no fluxo de saída no formato padrão do sistema.

public:
 virtual void Generate();
public:
 void Generate();
public void Generate ();
abstract member Generate : unit -> unit
override this.Generate : unit -> unit
member this.Generate : unit -> unit
Public Sub Generate ()

Implementações

Exceções

Ocorreu um erro de E/S.

Ocorreu um erro durante a serialização do objeto.

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

Exemplos

O exemplo de código a seguir usa o Generate método para gravar todos os objetos de recurso em uma ResourceWriter classe no fluxo de saída

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" );
   
   // Generate the resources, and close the writer.
   writer->Generate();
   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");

       // Generate the resources, and close the writer.
       writer.Generate();
       writer.Close();
    }
}
Imports System.Resources
Imports System.IO

Public Class WriteResources

  Public Shared Sub Main(ByVal 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")

      ' Generate the resources, and close the writer.
      writer.Generate()
      writer.Close()
   End Sub

End Class

Comentários

O Generate método será chamado implicitamente pelo Close método se não for chamado pelo código do aplicativo.

Generate só pode ser chamado uma vez, depois de todas as chamadas para AddResource e AddResourceData foram feitas. Se ocorrer uma exceção durante a gravação dos recursos, o fluxo de saída será fechado para evitar a gravação de informações inválidas.

Generate não fecha o fluxo de saída em casos normais. A menos que você esteja combinando dados extras com o arquivo .resources ou precise acessar o fluxo posteriormente, chame Close depois de chamar Generateou simplesmente chame Close.

Aplica-se a