ResXResourceWriter クラス

定義

XML リソース (.resx) ファイルまたは出力ストリームにリソースを書き込みます。

public ref class ResXResourceWriter : System::Resources::IResourceWriter
public ref class ResXResourceWriter : IDisposable, System::Resources::IResourceWriter
public class ResXResourceWriter : System.Resources.IResourceWriter
public class ResXResourceWriter : IDisposable, System.Resources.IResourceWriter
type ResXResourceWriter = class
    interface IResourceWriter
    interface IDisposable
Public Class ResXResourceWriter
Implements IResourceWriter
Public Class ResXResourceWriter
Implements IDisposable, IResourceWriter
継承
ResXResourceWriter
実装

次の例では、6 つの文字列、アイコン、および 2 つのアプリケーション定義オブジェクト (2 つのAutomobileオブジェクト) を格納する という名前CarResources.resxの .resx ファイルを作成します。 例で定義されてインスタンス化された Automobile クラスは、SerializableAttribute 属性でタグ付けされることに注意してください。

using System;
using System.Drawing;
using System.Resources;

[Serializable()] public class Automobile
{
   private string carMake;
   private string carModel;
   private int carYear;
   private int carDoors;
   private int carCylinders;

   public Automobile(string make, string model, int year) :
                     this(make, model, year, 0, 0)
   { }

   public Automobile(string make, string model, int year,
                     int doors, int cylinders)
   {
      this.carMake = make;
      this.carModel = model;
      this.carYear = year;
      this.carDoors = doors;
      this.carCylinders = cylinders;
   }

   public string Make {
      get { return this.carMake; }
   }

   public string Model {
      get {return this.carModel; }
   }

   public int Year {
      get { return this.carYear; }
   }

   public int Doors {
      get { return this.carDoors; }
   }

   public int Cylinders {
      get { return this.carCylinders; }
   }
}

public class Example
{
   public static void Main()
   {
      // Instantiate an Automobile object.
      Automobile car1 = new Automobile("Ford", "Model N", 1906, 0, 4);
      Automobile car2 = new Automobile("Ford", "Model T", 1909, 2, 4);
      // Define a resource file named CarResources.resx.
      using (ResXResourceWriter resx = new ResXResourceWriter(@".\CarResources.resx"))
      {
         resx.AddResource("Title", "Classic American Cars");
         resx.AddResource("HeaderString1", "Make");
         resx.AddResource("HeaderString2", "Model");
         resx.AddResource("HeaderString3", "Year");
         resx.AddResource("HeaderString4", "Doors");
         resx.AddResource("HeaderString5", "Cylinders");
         resx.AddResource("Information", SystemIcons.Information);
         resx.AddResource("EarlyAuto1", car1);
         resx.AddResource("EarlyAuto2", car2);
      }
   }
}
Imports System.Drawing
Imports System.Resources

<Serializable()> Public Class Automobile
   Private carMake As String
   Private carModel As String
   Private carYear As Integer
   Private carDoors AS Integer
   Private carCylinders As Integer
   
   Public Sub New(make As String, model As String, year As Integer) 
      Me.New(make, model, year, 0, 0)   
   End Sub
   
   Public Sub New(make As String, model As String, year As Integer, 
                  doors As Integer, cylinders As Integer)
      Me.carMake = make
      Me.carModel = model
      Me.carYear = year
      Me.carDoors = doors
      Me.carCylinders = cylinders
   End Sub

   Public ReadOnly Property Make As String
      Get
         Return Me.carMake
      End Get   
   End Property       
   
   Public ReadOnly Property Model As String
      Get
         Return Me.carModel
      End Get   
   End Property       
   
   Public ReadOnly Property Year As Integer
      Get
         Return Me.carYear
      End Get   
   End Property       
   
   Public ReadOnly Property Doors As Integer
      Get
         Return Me.carDoors
      End Get   
   End Property       
   
   Public ReadOnly Property Cylinders As Integer
      Get
         Return Me.carCylinders
      End Get   
   End Property       
End Class

Module Example
   Public Sub Main()
      ' Instantiate an Automobile object.
      Dim car1 As New Automobile("Ford", "Model N", 1906, 0, 4)
      Dim car2 As New Automobile("Ford", "Model T", 1909, 2, 4)
      ' Define a resource file named CarResources.resx.
      Using resx As New ResXResourceWriter(".\CarResources.resx")
         resx.AddResource("Title", "Classic American Cars")
         resx.AddResource("HeaderString1", "Make")
         resx.AddResource("HeaderString2", "Model")
         resx.AddResource("HeaderString3", "Year")
         resx.AddResource("HeaderString4", "Doors")
         resx.AddResource("HeaderString5", "Cylinders")
         resx.AddResource("Information", SystemIcons.Information) 
         resx.AddResource("EarlyAuto1", car1)
         resx.AddResource("EarlyAuto2", car2)  
      End Using
   End Sub
End Module

注釈

ResXResourceWriter XML 形式でリソースを書き込みます。 バイナリ リソース ファイルを記述するには、 を使用します ResourceWriter

リソースは、 メソッドを使用して AddResource 名前と値のペアとして指定されます。 リソース名は、ルックアップに使用される場合、大文字と小文字が区別されます。しかし、作成ツールをより簡単にサポートし、バグを排除するために、 ResXResourceWriter a.resx ファイルに大文字と小文字のみが異なる名前を付けないようにします。

a.resx ファイルを作成するには、一意のファイル名を使用して をResXResourceWriter作成し、少なくとも 1 回を呼び出し、 を呼び出AddResourceGenerateしてリソース ファイルをディスクに書き込み、 を呼び出Closeしてファイルを閉じます。 を呼び出すと、必要に応じてファイルが暗黙的にGenerate呼び出Closeされます。

リソースは、必ずしも追加された順序と同じ順序で書き込まれるとは限りません。

a.resx ファイルの形式の詳細については、「 プログラムによる .resx ファイルの操作」を参照してください。

Note

このクラスには、リンク確認要求と、すべてのメンバーに適用されるクラス レベルの継承確認要求が含まれています。 直接の呼び出し元か派生クラスのいずれかに完全信頼アクセス許可がない場合、SecurityException がスローされます。

コンストラクター

ResXResourceWriter(Stream)

指定したストリーム オブジェクトにリソースを書き込む ResXResourceWriter クラスの新しいインスタンスを初期化します。

ResXResourceWriter(Stream, Func<Type,String>)

指定したストリーム オブジェクトへのリソースの書き込みとコンバーター デリゲートの設定をする ResXResourceWriter クラスの新しいインスタンスを初期化します。 このデリゲートは、修飾アセンブリ名を使用して .NET Framework 4 以前の各 .NET Framework バージョンを対象とするリソース アセンブリの書き込みを可能にします。

ResXResourceWriter(String)

指定したファイルにリソースを書き込む ResXResourceWriter クラスの新しいインスタンスを初期化します。

ResXResourceWriter(String, Func<Type,String>)

ResXResourceWriter クラスの新しいインスタンスを初期化します。このクラスは、指定されたファイルにリソースを書き込み、修飾アセンブリ名を使用して .NET Framework 4 以前の各 .NET Framework バージョンを対象とするリソース アセンブリの書き込みを可能にするデリゲートを設定します。

ResXResourceWriter(TextWriter)

指定した TextWriter オブジェクトに書き込む ResXResourceWriter クラスの新しいインスタンスを初期化します。

ResXResourceWriter(TextWriter, Func<Type,String>)

ResXResourceWriter クラスの新しいインスタンスを初期化します。このクラスは、指定された TextWriter オブジェクトにリソースを書き込み、修飾アセンブリ名を使用して .NET Framework 4 以前の各 .NET Framework バージョンを対象とするリソース アセンブリの書き込みを可能にするデリゲートを設定します。

フィールド

BinSerializedObjectMimeType

バイナリ オブジェクトの既定コンテンツ タイプを指定します。 このフィールドは読み取り専用です。

ByteArraySerializedObjectMimeType

バイト配列オブジェクトの既定コンテンツ タイプを指定します。 このフィールドは読み取り専用です。

DefaultSerializedObjectMimeType

オブジェクトの既定コンテンツ タイプを指定します。 このフィールドは読み取り専用です。

ResMimeType

XML リソースのコンテンツ タイプを指定します。 このフィールドは読み取り専用です。

ResourceSchema

XML ファイルの書き込みに使用するスキーマを指定します。 このフィールドは読み取り専用です。

SoapSerializedObjectMimeType

SOAP オブジェクトのコンテンツ タイプを指定します。 このフィールドは読み取り専用です。

Version

XML 出力が準拠するスキーマのバージョンを指定します。 このフィールドは読み取り専用です。

プロパティ

BasePath

ResXFileRef オブジェクトで指定されている相対ファイル パスのベース パスを取得または設定します。

メソッド

AddAlias(String, AssemblyName)

エイリアスのリストに、指定したエイリアスを追加します。

AddMetadata(String, Byte[])

書き込むリソースのリストに、バイト配列として指定された値を持つデザイン時のプロパティを追加します。

AddMetadata(String, Object)

書き込むリソースのリストに、オブジェクトとして指定された値を持つデザイン時のプロパティを追加します。

AddMetadata(String, String)

書き込むリソースのリストに、文字列として指定された値を持つデザイン時のプロパティを追加します。

AddResource(ResXDataNode)

書き込むリソースのリストに、ResXDataNode オブジェクトで指定されている名前付きリソースを追加します。

AddResource(String, Byte[])

書き込むリソースのリストに、バイト配列として指定された名前付きリソースを追加します。

AddResource(String, Object)

書き込むリソースのリストに、オブジェクトとして指定された名前付きリソースを追加します。

AddResource(String, String)

文字列リソースをリソースに追加します。

Close()

ResXResourceWriter によって使用されているすべてのリソースを解放します。

Dispose()

ResXResourceWriter によって使用されているすべてのリソースを解放します。

Dispose(Boolean)

ResXResourceWriter によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
Finalize()

このメンバーは、Finalize() メソッドをオーバーライドします。

Generate()

AddResource(String, Byte[]) メソッドで追加されたすべてのリソースを出力ファイルまたはストリームに書き込みます。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください