ResourceWriter.Generate Metodo

Definizione

Salva tutte le risorse nel flusso di output nel formato predefinito per il 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 ()

Implementazioni

Eccezioni

Si è verificato un errore di I/O.

Si è verificato un errore durante la serializzazione dell'oggetto.

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

Esempio

Nell'esempio di codice seguente viene usato il Generate metodo per scrivere tutti gli oggetti risorsa in una ResourceWriter classe nel flusso di output

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

Commenti

Il Generate metodo viene chiamato in modo implicito dal Close metodo se non viene chiamato dal codice dell'applicazione.

Generate può essere chiamato una sola volta, dopo tutte le chiamate a AddResource e AddResourceData sono state effettuate. Se si verifica un'eccezione durante la scrittura delle risorse, il flusso di output verrà chiuso per impedire la scrittura di informazioni non valide.

Generate non chiude il flusso di output nei casi normali. A meno che non si combinano dati aggiuntivi con il file con estensione resources o che sia necessario accedere al flusso in un secondo momento, è necessario chiamare dopo Generateaver chiamato o chiamare CloseClosesemplicemente .

Si applica a