ResourceWriter.Generate メソッド
システムの既定の形式で、すべてのリソースを出力ストリームに保存します。
Public Overridable Sub Generate() Implements _
IResourceWriter.Generate
[C#]
public virtual void Generate();
[C++]
public: virtual void Generate();
[JScript]
public function Generate();
実装
例外
例外の種類 | 条件 |
---|---|
IOException | I/O エラーが発生しました。 |
SerializationException | オブジェクトのシリアル化でエラーが発生しました。 |
InvalidOperationException | この ResourceWriter が閉じていて、 Hashtable を利用できません。 |
解説
Generate は、すべての AddResource 呼び出しを実行した後で、1 回だけ呼び出すことができます。リソースを書き込むときに例外が発生した場合、書き込まれる情報が無効であることから、出力ストリームは閉じられます。
通常、 Generate は出力ストリームを閉じません。独自のデータを .resources ファイルに組み合わせる場合、または後でストリームにアクセスする必要がある場合を除いて、 Generate を呼び出した後で Close を呼び出すか、単に Close を呼び出す必要があります。
使用例
Imports System
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
[C#]
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();
}
}
[C++]
#using <mscorlib.dll>
using namespace System;
using namespace System::Resources;
using namespace System::IO;
int main() {
// Create a file stream to encapsulate items.resources.
FileStream* fs = new FileStream(S"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(S"String 1", S"First String");
writer->AddResource(S"String 2", S"Second String");
writer->AddResource(S"String 3", S"Third String");
// Generate the resources, and close the writer.
writer->Generate();
writer->Close();
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
参照
ResourceWriter クラス | ResourceWriter メンバ | System.Resources 名前空間 | XML シリアル化および SOAP シリアル化