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 つのCarResources.resx オブジェクト) を格納するAutomobileという名前の .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 回 AddResource 呼び出し、 Generate を呼び出してリソース ファイルをディスクに書き込み、 Close 呼び出してファイルを閉じます。 Closeを呼び出すと、必要に応じてファイルが暗黙的にGenerateされます。

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

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

Note

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

コンストラクター

名前 説明
ResXResourceWriter(Stream, Func<Type,String>)

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

ResXResourceWriter(Stream)

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

ResXResourceWriter(String, Func<Type,String>)

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

ResXResourceWriter(String)

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

ResXResourceWriter(TextWriter, Func<Type,String>)

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

ResXResourceWriter(TextWriter)

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

フィールド

名前 説明
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)

適用対象

こちらもご覧ください