ResourceReader コンストラクター
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ResourceReader クラスの新しいインスタンスを初期化します。
オーバーロード
ResourceReader(Stream) |
指定したストリーム用の ResourceReader クラスの新しいインスタンスを初期化します。 |
ResourceReader(String) |
リソース ファイルを指定して ResourceReader クラスの新しいインスタンスを初期化します。 |
注釈
> [!重要] > 信頼されていないデータでこのオブジェクトのインスタンスを使用すると、セキュリティ上のリスクがあります。 このオブジェクトは信頼されたデータでのみ使用してください。 詳細については、「 すべての入力を検証する」を参照してください。
ResourceReader(Stream)
指定したストリーム用の ResourceReader クラスの新しいインスタンスを初期化します。
public:
ResourceReader(System::IO::Stream ^ stream);
public ResourceReader (System.IO.Stream stream);
[System.Security.SecurityCritical]
public ResourceReader (System.IO.Stream stream);
new System.Resources.ResourceReader : System.IO.Stream -> System.Resources.ResourceReader
[<System.Security.SecurityCritical>]
new System.Resources.ResourceReader : System.IO.Stream -> System.Resources.ResourceReader
Public Sub New (stream As Stream)
パラメーター
- stream
- Stream
リソースを読み取る入力ストリーム。
- 属性
例外
stream
パラメーターは読み取り可能ではありません。
stream
パラメーターが null
です。
stream
にアクセスしているときに、I/O エラーが発生しました。
例
このセクションの例では、 という名前 PatientForm.txt
の次の .txt ファイルを使用して、アプリケーションで使用されるリソースを定義します。
Title="Top Pet Animal Clinic"
Label1="Patient Number:"
Label2="Pet Name:"
Label3="Species:"
Label4="Breed:"
Label5="Date of Birth:"
Label6="Age:"
Label7="Owner:"
Label8="Address:"
Label9="Home Phone:"
Label10="Work Phone:"
Label11="Mobile Phone:"
次のコマンドを発行して、.txt ファイルを .resources ファイルにコンパイルできます。
resgen PatientForm.txt
次の例では、アプリケーションの実行可能コードを含むアセンブリにリソース ファイルが埋め込まれていることを前提としています。 現在実行中のアセンブリから という名前 PatientForm.resources
のリソース ファイルを取得し、各リソースの名前と値を表示します。
using System;
using System.Collections;
using System.IO;
using System.Reflection;
using System.Resources;
public class Example
{
public static void Main()
{
var assem = typeof(Example).Assembly;
var fs = assem.GetManifestResourceStream("PatientForm.resources");
var rr = new ResourceReader(fs);
IDictionaryEnumerator dict = rr.GetEnumerator();
int ctr = 0;
while (dict.MoveNext()) {
ctr++;
Console.WriteLine("{0:00}: {1} = {2}", ctr, dict.Key, dict.Value);
}
rr.Close();
}
}
// The example displays the following output:
// 01: Label3 = "Species:"
// 02: Label2 = "Pet Name:"
// 03: Label1 = "Patient Number:"
// 04: Label7 = "Owner:"
// 05: Label6 = "Age:"
// 06: Label5 = "Date of Birth:"
// 07: Label4 = "Breed:"
// 08: Label9 = "Home Phone:"
// 09: Label8 = "Address:"
// 10: Title = "Top Pet Animal Clinic"
// 11: Label10 = "Work Phone:"
// 12: Label11 = "Mobile Phone:"
Imports System.Collections
Imports System.IO
Imports System.Reflection
Imports System.Resources
Module Example
Public Sub Main()
Dim assem As Assembly = GetType(Example).Assembly
Dim fs As Stream = assem.GetManifestResourceStream("PatientForm.resources")
Dim rr As New ResourceReader(fs)
Dim dict As IDictionaryEnumerator = rr.GetEnumerator
Dim ctr As Integer
Do While dict.MoveNext()
ctr += 1
Console.WriteLine("{0:00}: {1} = {2}", ctr, dict.Key, dict.Value)
Loop
rr.Close()
End Sub
End Module
' The example displays the following output:
' 01: Label3 = "Species:"
' 02: Label2 = "Pet Name:"
' 03: Label1 = "Patient Number:"
' 04: Label7 = "Owner:"
' 05: Label6 = "Age:"
' 06: Label5 = "Date of Birth:"
' 07: Label4 = "Breed:"
' 08: Label9 = "Home Phone:"
' 09: Label8 = "Address:"
' 10: Title = "Top Pet Animal Clinic"
' 11: Label10 = "Work Phone:"
' 12: Label11 = "Mobile Phone:"
C# の例に という名前を付 Example.cs
けた場合は、次のコマンドを使用してコンパイルできます。
csc Example.cs /res:PatientForm.resources
Visual Basic の例に という名前が付けられている Example.vb
場合は、次のコマンドを使用してコンパイルできます。
vbc Example.vb /res:PatientForm.resources
注釈
コンストラクターは ResourceReader(Stream) 、スタンドアロンの ResourceReader .resources ファイルまたはアセンブリに埋め込まれている .resources ファイルからリソースを取得する オブジェクトをインスタンス化します。 スタンドアロンの .resources ファイルから読み取る場合は、オブジェクトを Stream インスタンス化してコンストラクターに ResourceReader(Stream) 渡します。 埋め込み .resources ファイルから読み取る場合は、.resources ファイルの大文字と小文字を区別する名前で メソッドを呼び出 Assembly.GetManifestResourceStream し、返された Stream オブジェクトをコンストラクターに ResourceReader(Stream) 渡します。
重要
信頼されていないデータを指定してこのオブジェクトのインスタンスを使用することは、セキュリティ上のリスクが伴います。 このオブジェクトは信頼されたデータでのみ使用してください。 詳細については、「 すべての入力を検証する」を参照してください。
こちらもご覧ください
適用対象
ResourceReader(String)
リソース ファイルを指定して ResourceReader クラスの新しいインスタンスを初期化します。
public:
ResourceReader(System::String ^ fileName);
public ResourceReader (string fileName);
new System.Resources.ResourceReader : string -> System.Resources.ResourceReader
Public Sub New (fileName As String)
パラメーター
- fileName
- String
読み取るリソース ファイルのパスと名前。 filename
では、大文字と小文字は区別されません。
例外
fileName
パラメーターが null
です。
ファイルが見つかりません。
I/O エラーが発生しました。
リソース ファイルの形式が無効です。 たとえば、ファイルの長さが 0 の場合などです。
例
このセクションの例では、 という名前 PatientForm.txt
の次の .txt ファイルを使用して、アプリケーションで使用されるリソースを定義します。
Title="Top Pet Animal Clinic"
Label1="Patient Number:"
Label2="Pet Name:"
Label3="Species:"
Label4="Breed:"
Label5="Date of Birth:"
Label6="Age:"
Label7="Owner:"
Label8="Address:"
Label9="Home Phone:"
Label10="Work Phone:"
Label11="Mobile Phone:"
この .txt ファイルを .resources ファイルにコンパイルするには、次のコマンドを発行します。
resgen PatientForm.txt
次の例では、 内 PatientForm.resources
のリソースを列挙し、それぞれの名前と値を表示します。
using System;
using System.Collections;
using System.Resources;
public class Example
{
public static void Main()
{
var rr = new ResourceReader("PatientForm.resources");
IDictionaryEnumerator dict = rr.GetEnumerator();
int ctr = 0;
while (dict.MoveNext()) {
ctr++;
Console.WriteLine("{0:00}: {1} = {2}", ctr, dict.Key, dict.Value);
}
rr.Close();
}
}
// The example displays the following output:
// 01: Label3 = "Species:"
// 02: Label2 = "Pet Name:"
// 03: Label1 = "Patient Number:"
// 04: Label7 = "Owner:"
// 05: Label6 = "Age:"
// 06: Label5 = "Date of Birth:"
// 07: Label4 = "Breed:"
// 08: Label9 = "Home Phone:"
// 09: Label8 = "Address:"
// 10: Title = "Top Pet Animal Clinic"
// 11: Label10 = "Work Phone:"
// 12: Label11 = "Mobile Phone:"
Imports System.Collections
Imports System.Resources
Module Example
Public Sub Main()
Dim rr As New ResourceReader("PatientForm.resources")
Dim dict As IDictionaryEnumerator = rr.GetEnumerator
Dim ctr As Integer
Do While dict.MoveNext()
ctr += 1
Console.WriteLine("{0:00}: {1} = {2}", ctr, dict.Key, dict.Value)
Loop
rr.Close()
End Sub
End Module
' The example displays the following output:
' 01: Label3 = "Species:"
' 02: Label2 = "Pet Name:"
' 03: Label1 = "Patient Number:"
' 04: Label7 = "Owner:"
' 05: Label6 = "Age:"
' 06: Label5 = "Date of Birth:"
' 07: Label4 = "Breed:"
' 08: Label9 = "Home Phone:"
' 09: Label8 = "Address:"
' 10: Title = "Top Pet Animal Clinic"
' 11: Label10 = "Work Phone:"
' 12: Label11 = "Mobile Phone:"
注釈
コンストラクターは ResourceReader(String) 、スタンドアロンの ResourceReader .resources ファイルからリソースを取得する オブジェクトをインスタンス化します。 埋め込み .resources ファイルからリソースを取得するには、 コンストラクターを ResourceReader(Stream) 使用します。
重要
信頼されていないデータを指定してこのオブジェクトのインスタンスを使用することは、セキュリティ上のリスクが伴います。 このオブジェクトは信頼されたデータでのみ使用してください。 詳細については、「 すべての入力を検証する」を参照してください。
適用対象
.NET