ResXResourceWriter クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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) |