ResXResourceSet クラス

定義

XML リソース (.resx) ファイル内のすべてのリソースを表します。

public ref class ResXResourceSet : System::Resources::ResourceSet
public class ResXResourceSet : System.Resources.ResourceSet
type ResXResourceSet = class
    inherit ResourceSet
Public Class ResXResourceSet
Inherits ResourceSet
継承
ResXResourceSet

次の例では、 オブジェクトを ResXResourceSet インスタンス化し、そのリソースを列挙し、名前で個々のリソースを取得する方法を示します。 列挙するリソースごとに、リソースの値が文字列かオブジェクトかに応じて、 メソッドまたは GetObject メソッドのGetString呼び出しで プロパティを使用IDictionaryEnumerator.Keyします。

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

public class Example
{
   public static void Main()
   {
      CreateResXFile();
      
      ResXResourceSet resSet = new ResXResourceSet(@".\StoreResources.resx");
      IDictionaryEnumerator dict = resSet.GetEnumerator();
      while (dict.MoveNext()) {
         string key = (string) dict.Key;
         // Retrieve resource by name.
         if (dict.Value is string)
            Console.WriteLine("{0}: {1}", key, resSet.GetString(key));
         else
            Console.WriteLine("{0}: {1}", key, resSet.GetObject(key));   
      }
   }

   private static void CreateResXFile()
   {
      Bitmap logo = new Bitmap(@".\Logo.bmp");
      ResXDataNode node;
      
      ResXResourceWriter rw = new ResXResourceWriter(@".\StoreResources.resx");
      node = new ResXDataNode("Logo", logo);
      node.Comment = "The corporate logo.";
      rw.AddResource(node); 
      rw.AddResource("AppTitle", "Store Locations");
      node = new ResXDataNode("nColumns", 5);
      node.Comment = "The number of columns in the Store Location table";
      rw.AddResource(node);
      rw.AddResource("City", "City");
      rw.AddResource("State", "State");
      rw.AddResource("Code", "Zip Code");
      rw.AddResource("Telephone", "Phone");
      rw.Generate();
      rw.Close();
   }
}
// The example displays the following output:
//       Telephone: Phone
//       Code: Zip Code
//       State: State
//       City: City
//       nColumns: 5
//       AppTitle: Store Locations
//       Logo: System.Drawing.Bitmap
Imports System.Collections
Imports System.Drawing
Imports System.Resources

Module Example
   Public Sub Main()
      CreateResXFile()
      
      Dim resSet As New ResXResourceSet(".\StoreResources.resx")
      Dim dict As IDictionaryEnumerator = resSet.GetEnumerator()
      Do While dict.MoveNext()
         Dim key As String = CStr(dict.Key)
         ' Retrieve resource by name.
         If typeof dict.Value Is String Then
            Console.WriteLine("{0}: {1}", key, resSet.GetString(key))
         Else
            Console.WriteLine("{0}: {1}", key, resSet.GetObject(key))   
         End If
      Loop
   End Sub
   
   Private Sub CreateResXFile()
      Dim logo As New Bitmap(".\Logo.bmp")
      Dim node As ResXDataNode
      
      Dim rw As New ResXResourceWriter(".\StoreResources.resx")
      node = New ResXDataNode("Logo", logo)
      node.Comment = "The corporate logo."
      rw.AddResource(node) 
      rw.AddResource("AppTitle", "Store Locations")
      node = New ResXDataNode("nColumns", 5)
      node.Comment = "The number of columns in the Store Location table"
      rw.AddResource(node)
      rw.AddResource("City", "City")
      rw.AddResource("State", "State")
      rw.AddResource("Code", "Zip Code")
      rw.AddResource("Telephone", "Phone")
      rw.Generate()
      rw.Close()
   End Sub
End Module
' The example displays the following output:
'       Telephone: Phone
'       Code: Zip Code
'       State: State
'       City: City
'       nColumns: 5
'       AppTitle: Store Locations
'       Logo: System.Drawing.Bitmap

この例では、 メソッドを CreateResXFile 呼び出して、必要な XML リソース ファイルを作成します。 この例を実行しているディレクトリに Logo.bmp という名前のビットマップ ファイルが必要です。

注釈

重要

このクラスのメソッドを信頼されていないデータを指定して呼び出すことには、セキュリティ上のリスクが伴います。 このクラスのメソッドの呼び出しは、信頼されたデータだけを指定して実行してください。 詳細については、「 すべての入力を検証する」を参照してください。

クラスは ResXResourceSet を列挙し、 IResourceReaderすべての名前と値を読み込み、ハッシュ テーブルに格納します。 その後、オブジェクト内のリソースを列挙するか、 ResXResourceSet 名前で個々のリソースを取得できます。

オブジェクトは ResXResourceSet 、.resx ファイル内のすべてのリソースをメモリに読み込む便利な方法を提供します。 .resx ファイルが GetObject インスタンスに読み込まれたときに、 メソッドを使用して特定のリソースを ResXResourceSet 取得できます。

注意 (継承者)

独自のリソース リーダーとライターを使用する のResXResourceSet派生クラスは、 メソッドと GetDefaultWriter() メソッドをオーバーライドGetDefaultReader()して、インスタンスを解釈するための適切な機能を提供するResXResourceSet必要があります。

コンストラクター

ResXResourceSet(Stream)

ResXResourceSet クラスの新しいインスタンスを、指定したストリームからリソースを読み取るシステムの既定の ResXResourceReader を使用して初期化します。

ResXResourceSet(String)

指定したファイルからリソースを開いて読み取るシステムの既定値ResXResourceReaderを使用して、 クラスの新しいインスタンスResXResourceSetを初期化します。

フィールド

Reader

リソースを読み取るときに使用する IResourceReader を示します。

(継承元 ResourceSet)
Table

リソースを格納する Hashtable

(継承元 ResourceSet)

メソッド

Close()

この ResourceSet が使用するすべてのリソースを閉じて解放します。

(継承元 ResourceSet)
Dispose()

ResourceSet の現在のインスタンスで使用されていたリソース (メモリを除く) を破棄します。

(継承元 ResourceSet)
Dispose(Boolean)

現在のインスタンスに関連付けられたリソース (メモリを除く) を解放し、要求された場合には内部マネージド オブジェクトを閉じます。

(継承元 ResourceSet)
Equals(Object)

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

(継承元 Object)
GetDefaultReader()

この種類の ResXResourceSet で優先的に使用するリソース リーダー クラスを返します。

GetDefaultWriter()

この種類の ResXResourceSet で優先的に使用するリソース ライター クラスを返します。

GetEnumerator()

IDictionaryEnumerator を反復処理できる ResourceSet を返します。

(継承元 ResourceSet)
GetHashCode()

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

(継承元 Object)
GetObject(String)

指定した名前のリソース オブジェクトを検索します。

(継承元 ResourceSet)
GetObject(String, Boolean)

要求された場合に、大文字と小文字を区別せずに、指定した名前のリソース オブジェクトを検索します。

(継承元 ResourceSet)
GetString(String)

指定した名前の String リソースを検索します。

(継承元 ResourceSet)
GetString(String, Boolean)

要求された場合に、大文字と小文字を区別せずに、指定した名前の String リソースを検索します。

(継承元 ResourceSet)
GetType()

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

(継承元 Object)
MemberwiseClone()

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

(継承元 Object)
ReadResources()

すべてのリソースを読み取り、Hashtable プロパティが示す Table に格納します。

(継承元 ResourceSet)
ToString()

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

(継承元 Object)

明示的なインターフェイスの実装

IEnumerable.GetEnumerator()

IEnumerator との競合状態を避けるために、Dispose オブジェクトを返します。 このメンバーは、コードで直接使用するためのものではありません。

(継承元 ResourceSet)

拡張メソッド

Cast<TResult>(IEnumerable)

IEnumerable の要素を、指定した型にキャストします。

OfType<TResult>(IEnumerable)

指定された型に基づいて IEnumerable の要素をフィルター処理します。

AsParallel(IEnumerable)

クエリの並列化を有効にします。

AsQueryable(IEnumerable)

IEnumerableIQueryable に変換します。

適用対象

こちらもご覧ください