次の方法で共有


ResourceWriter.Generate メソッド

システムの既定の形式で、すべてのリソースを出力ストリームに保存します。

Public Overridable Sub Generate() Implements _
   IResourceWriter.Generate
[C#]
public virtual void Generate();
[C++]
public: virtual void Generate();
[JScript]
public function Generate();

実装

IResourceWriter.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 シリアル化