ResourceReader Konstruktory

Definicja

Inicjuje nowe wystąpienie klasy ResourceReader.

Przeciążenia

ResourceReader(Stream)

Inicjuje ResourceReader nowe wystąpienie klasy dla określonego strumienia.

ResourceReader(String)

Inicjuje ResourceReader nowe wystąpienie klasy dla określonego nazwanego pliku zasobu.

Uwagi

> [! WAŻNE] > Użycie wystąpienia tego obiektu z niezaufanymi danymi jest zagrożeniem bezpieczeństwa. Użyj tego obiektu tylko z zaufanymi danymi. Aby uzyskać więcej informacji, zobacz Weryfikowanie wszystkich danych wejściowych.

ResourceReader(Stream)

Źródło:
ResourceReader.cs
Źródło:
ResourceReader.cs
Źródło:
ResourceReader.cs

Inicjuje ResourceReader nowe wystąpienie klasy dla określonego strumienia.

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)

Parametry

stream
Stream

Strumień wejściowy do odczytywania zasobów.

Atrybuty

Wyjątki

Parametr stream nie jest czytelny.

Parametr stream to null.

Wystąpił błąd we/wy podczas uzyskiwania dostępu do elementu stream.

Przykłady

W przykładzie w tej sekcji użyto następującego pliku .txt o nazwie w PatientForm.txt celu zdefiniowania zasobów używanych przez aplikację.

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

Plik .txt można skompilować w pliku resources, wydając następujące polecenie:

PatientForm.txtresgen

W poniższym przykładzie przyjęto założenie, że plik zasobu jest osadzony w zestawie zawierającym kod wykonywalny aplikacji. Pobiera plik zasobów o nazwie PatientForm.resources z aktualnie wykonywanych zestawów i wyświetla nazwę i wartość każdego z jego zasobów.

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

Jeśli przykład języka C# ma nazwę Example.cs, możesz go skompilować przy użyciu następującego polecenia:

csc Example.cs /res:PatientForm.resources

Jeśli przykład języka Visual Basic nosi nazwę Example.vb, możesz go skompilować przy użyciu następującego polecenia:

vbc Example.vb /res:PatientForm.resources

Uwagi

Konstruktor ResourceReader(Stream) tworzy wystąpienie ResourceReader obiektu, który pobiera zasoby z autonomicznego pliku resources lub z pliku resources osadzonego w zestawie. Aby odczytać z autonomicznego pliku resources, utwórz wystąpienie Stream obiektu i przekaż go do konstruktora ResourceReader(Stream) . Aby odczytać z osadzonego pliku resources, wywołaj Assembly.GetManifestResourceStream metodę z nazwą wrażliwą na wielkość liter pliku resources i przekaż zwrócony Stream obiekt do konstruktora ResourceReader(Stream) .

Ważne

Użycie wystąpienia tego obiektu z niezaufanymi danymi jest zagrożeniem bezpieczeństwa. Użyj tego obiektu tylko z zaufanymi danymi. Aby uzyskać więcej informacji, zobacz Weryfikowanie wszystkich danych wejściowych.

Zobacz też

Dotyczy

ResourceReader(String)

Źródło:
ResourceReader.cs
Źródło:
ResourceReader.cs
Źródło:
ResourceReader.cs

Inicjuje ResourceReader nowe wystąpienie klasy dla określonego nazwanego pliku zasobu.

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

Parametry

fileName
String

Ścieżka i nazwa pliku zasobu do odczytania. filename nie uwzględnia wielkości liter.

Wyjątki

Parametr fileName to null.

Nie można odnaleźć pliku.

Wystąpił błąd we/wy.

Plik zasobu ma nieprawidłowy format. Na przykład długość pliku może być równa zero.

Przykłady

W przykładzie w tej sekcji użyto następującego pliku .txt o nazwie w PatientForm.txt celu zdefiniowania zasobów używanych przez aplikację.

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

Ten plik .txt można skompilować w pliku resources, wydając następujące polecenie:

PatientForm.txtresgen

Poniższy przykład wylicza zasoby w pliku PatientForm.resources i wyświetla nazwę i wartość każdego z nich.

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

Uwagi

Konstruktor ResourceReader(String) tworzy wystąpienie ResourceReader obiektu, który pobiera zasoby z autonomicznego pliku resources. Aby pobrać zasoby z osadzonego pliku resources, użyj konstruktora ResourceReader(Stream) .

Ważne

Użycie wystąpienia tego obiektu z niezaufanymi danymi jest zagrożeniem bezpieczeństwa. Użyj tego obiektu tylko z zaufanymi danymi. Aby uzyskać więcej informacji, zobacz Weryfikowanie wszystkich danych wejściowych.

Dotyczy