Sdílet prostřednictvím


ResourceReader Konstruktory

Definice

Inicializuje novou instanci ResourceReader třídy .

Přetížení

ResourceReader(Stream)

Inicializuje novou instanci ResourceReader třídy pro zadaný datový proud.

ResourceReader(String)

Inicializuje novou instanci ResourceReader třídy pro zadaný pojmenovaný soubor prostředků.

Poznámky

> [! DŮLEŽITÉ] > Použití instance tohoto objektu s nedůvěryhodnými daty představuje bezpečnostní riziko. Tento objekt používejte pouze s důvěryhodnými daty. Další informace najdete v tématu Ověření všech vstupů.

ResourceReader(Stream)

Zdroj:
ResourceReader.cs
Zdroj:
ResourceReader.cs
Zdroj:
ResourceReader.cs

Inicializuje novou instanci ResourceReader třídy pro zadaný datový proud.

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

Vstupní stream pro čtení prostředků.

Atributy

Výjimky

Parametr stream není čitelný.

Parametr stream je null.

Při přístupu došlo k vstupně-výstupní streamchybě.

Příklady

Příklad v této části používá následující .txt soubor s názvem PatientForm.txt k definování prostředků používaných aplikací.

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

Soubor .txt můžete zkompilovat do souboru .resources spuštěním následujícího příkazu:

resgen PatientForm.txt

Následující příklad předpokládá, že soubor prostředků je vložen v sestavení, které obsahuje spustitelný kód aplikace. Načte soubor prostředků s názvem PatientForm.resources z aktuálně spuštěných sestavení a zobrazí název a hodnotu každého z jeho prostředků.

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

Pokud má příklad jazyka C# název Example.cs, můžete ho zkompilovat pomocí následujícího příkazu:

csc Example.cs /res:PatientForm.resources

Pokud má příklad jazyka Visual Basic název Example.vb, můžete ho zkompilovat pomocí následujícího příkazu:

vbc Example.vb /res:PatientForm.resources

Poznámky

Konstruktor ResourceReader(Stream) vytvoří instanci objektu ResourceReader , který načte prostředky buď ze samostatného souboru .resources, nebo ze souboru .resources, který je vložen v sestavení. Chcete-li číst ze samostatného souboru .resources, vytvořte instanci objektu Stream a předejte jej konstruktoru ResourceReader(Stream) . Chcete-li číst z vloženého souboru .resources, zavolejte metodu Assembly.GetManifestResourceStream s názvem souboru .resources rozlišujícím malá a velká písmena a předejte vrácený Stream objekt konstruktoru ResourceReader(Stream) .

Důležité

Použití instance tohoto objektu s nedůvěryhodnými daty představuje bezpečnostní riziko. Tento objekt používejte pouze s důvěryhodnými daty. Další informace najdete v tématu Ověření všech vstupů.

Viz také

Platí pro

ResourceReader(String)

Zdroj:
ResourceReader.cs
Zdroj:
ResourceReader.cs
Zdroj:
ResourceReader.cs

Inicializuje novou instanci ResourceReader třídy pro zadaný pojmenovaný soubor prostředků.

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

Cesta a název souboru prostředků, který se má přečíst. filename nerozlišuje velká a malá písmena.

Výjimky

Parametr fileName je null.

Soubor nebyl nalezen.

Došlo k vstupně-výstupní chybě.

Soubor prostředků má neplatný formát. Například délka souboru může být nula.

Příklady

Příklad v této části používá následující .txt soubor s názvem PatientForm.txt k definování prostředků používaných aplikací.

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

Tento .txt soubor můžete zkompilovat do souboru .resources spuštěním následujícího příkazu:

resgen PatientForm.txt

Následující příklad vytvoří výčet prostředků v PatientForm.resources a zobrazí název a hodnotu každého 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:"

Poznámky

Konstruktor ResourceReader(String) vytvoří instanci objektu ResourceReader , který načte prostředky ze samostatného souboru .resources. Pokud chcete načíst prostředky z vloženého souboru .resources, použijte ResourceReader(Stream) konstruktor.

Důležité

Použití instance tohoto objektu s nedůvěryhodnými daty představuje bezpečnostní riziko. Tento objekt používejte pouze s důvěryhodnými daty. Další informace najdete v tématu Ověření všech vstupů.

Platí pro