ResourceWriter.Generate 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將所有資源以系統預設格式儲存到輸出串流。
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 ()
實作
例外狀況
發生 I/O 錯誤。
在物件序列化過程中發生錯誤。
該網站 ResourceWriter 已被關閉,其雜湊表無法使用。
範例
以下程式碼範例使用該 Generate 方法將類別中 ResourceWriter 的所有資源物件寫入輸出串流
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
備註
如果應用程式程式碼沒有呼叫該 Generate 方法,則該方法會隱含 Close 呼叫該方法。
Generate 在所有對 和 AddResourceAddResourceData 已撥出的呼叫後,只能呼叫一次。 若在寫入資源時發生異常,輸出串流會被關閉以防止寫入無效資訊。
Generate 在正常情況下不會關閉輸出串流。 除非你是將額外資料與 .resources 檔案合併,或事後需要存取串流,否則你應該一遍又一遍地呼叫 CloseGenerate,或直接呼叫 Close。