Freigeben über


ResourceReader Konstruktoren

Definition

Initialisiert eine neue Instanz der ResourceReader-Klasse.

Überlädt

ResourceReader(Stream)

Initialisiert eine neue Instanz der ResourceReader-Klasse für den angegebenen Stream.

ResourceReader(String)

Initialisiert eine neue Instanz der ResourceReader-Klasse für die angegebene benannten Ressourcendatei.

Hinweise

>[! WICHTIG] > Die Verwendung einer instance dieses Objekts mit nicht vertrauenswürdigen Daten stellt ein Sicherheitsrisiko dar. Verwenden Sie dieses Objekt nur mit vertrauenswürdigen Daten. Weitere Informationen finden Sie unter Überprüfen aller Eingaben.

ResourceReader(Stream)

Quelle:
ResourceReader.cs
Quelle:
ResourceReader.cs
Quelle:
ResourceReader.cs

Initialisiert eine neue Instanz der ResourceReader-Klasse für den angegebenen Stream.

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)

Parameter

stream
Stream

Der Eingabedatenstrom zum Lesen von Ressourcen.

Attribute

Ausnahmen

Der stream-Parameter ist nicht lesbar.

Der stream-Parameter ist null.

Beim Zugriff auf stream ist ein E/A-Fehler aufgetreten.

Beispiele

Im Beispiel in diesem Abschnitt wird die folgende .txt-Datei namens verwendet PatientForm.txt , um die von einer Anwendung verwendeten Ressourcen zu definieren.

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:"

Sie können die .txt-Datei in eine RESOURCES-Datei kompilieren, indem Sie den folgenden Befehl ausführen:

resgen PatientForm.txt

Im folgenden Beispiel wird davon ausgegangen, dass die Ressourcendatei in die Assembly eingebettet ist, die den ausführbaren Code der Anwendung enthält. Es ruft eine Ressourcendatei namens PatientForm.resources aus den derzeit ausgeführten Assemblys ab und zeigt den Namen und den Wert der einzelnen Ressourcen an.

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:"

Wenn das C#-Beispiel den Namen hat Example.cs, können Sie es mit dem folgenden Befehl kompilieren:

csc Example.cs /res:PatientForm.resources

Wenn das Visual Basic-Beispiel den Namen hat Example.vb, können Sie es mit dem folgenden Befehl kompilieren:

vbc Example.vb /res:PatientForm.resources

Hinweise

Der ResourceReader(Stream) Konstruktor instanziiert ein ResourceReader -Objekt, das Ressourcen entweder aus einer eigenständigen RESOURCES-Datei oder aus einer RESOURCES-Datei abruft, die in eine Assembly eingebettet ist. Um aus einer eigenständigen RESOURCES-Datei zu lesen, instanziieren Sie ein Stream -Objekt, und übergeben Sie es an den ResourceReader(Stream) Konstruktor. Um aus einer eingebetteten RESOURCES-Datei zu lesen, rufen Sie die Assembly.GetManifestResourceStream -Methode mit dem Namen der RESOURCES-Datei auf, und übergeben Sie das zurückgegebene Stream Objekt an den ResourceReader(Stream) Konstruktor.

Wichtig

Das Verwenden einer Instanz dieses Objekts mit nicht vertrauenswürdigen Daten stellt ein Sicherheitsrisiko dar. Verwenden Sie dieses Objekt nur mit vertrauenswürdigen Daten. Weitere Informationen finden Sie unter Überprüfen aller Eingaben.

Weitere Informationen

Gilt für:

ResourceReader(String)

Quelle:
ResourceReader.cs
Quelle:
ResourceReader.cs
Quelle:
ResourceReader.cs

Initialisiert eine neue Instanz der ResourceReader-Klasse für die angegebene benannten Ressourcendatei.

public:
 ResourceReader(System::String ^ fileName);
public ResourceReader (string fileName);
new System.Resources.ResourceReader : string -> System.Resources.ResourceReader
Public Sub New (fileName As String)

Parameter

fileName
String

Der Pfad und der Name der zu lesenden Ressourcen-Datei. Bei filename wird nicht zwischen Groß- und Kleinschreibung unterschieden.

Ausnahmen

Der fileName-Parameter ist null.

Die Datei kann nicht gefunden werden.

Ein E/A-Fehler ist aufgetreten.

Die Ressourcendatei weist ein ungültiges Format auf. Zum Beispiel kann die Länge der Datei 0 (null) sein.

Beispiele

Im Beispiel in diesem Abschnitt wird die folgende .txt-Datei namens verwendet PatientForm.txt , um die von einer Anwendung verwendeten Ressourcen zu definieren.

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:"

Sie können diese .txt-Datei in eine RESOURCES-Datei kompilieren, indem Sie den folgenden Befehl ausführen:

resgen PatientForm.txt

Das folgende Beispiel listet die Ressourcen in PatientForm.resources auf und zeigt den Namen und den Wert der einzelnen Ressourcen an.

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:"

Hinweise

Der ResourceReader(String) Konstruktor instanziiert ein ResourceReader -Objekt, das Ressourcen aus einer eigenständigen RESOURCES-Datei abruft. Verwenden Sie den ResourceReader(Stream) -Konstruktor, um Ressourcen aus einer eingebetteten RESOURCES-Datei abzurufen.

Wichtig

Das Verwenden einer Instanz dieses Objekts mit nicht vertrauenswürdigen Daten stellt ein Sicherheitsrisiko dar. Verwenden Sie dieses Objekt nur mit vertrauenswürdigen Daten. Weitere Informationen finden Sie unter Überprüfen aller Eingaben.

Gilt für: