ResourceReader Konstruktorer

Definition

Initierar en ny instans av ResourceReader klassen.

Överlagringar

Name Description
ResourceReader(Stream)

Initierar en ny instans av ResourceReader klassen för den angivna strömmen.

ResourceReader(String)

Initierar en ny instans av ResourceReader klassen för den angivna namngivna resursfilen.

Kommentarer

Important

Att använda en instans av den här typen med ej betrodda data är en säkerhetsrisk. Använd endast det här objektet med betrodda data. För mer information, se Verifiera alla indata.

ResourceReader(Stream)

Initierar en ny instans av ResourceReader klassen för den angivna strömmen.

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)

Parametrar

stream
Stream

Indataströmmen för att läsa resurser.

Attribut

Undantag

Parametern stream kan inte läsas.

Parametern stream är null.

Ett I/O-fel har inträffat vid åtkomst till stream.

Exempel

I exemplet i det här avsnittet används följande .txt fil med namnet PatientForm.txt för att definiera de resurser som används av ett program.

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

Du kan kompilera .txt-filen till en .resources-fil genom att utfärda följande kommando:

resgen PatientForm.txt

I följande exempel förutsätts att resursfilen är inbäddad i sammansättningen som innehåller programmets körbara kod. Den hämtar en resursfil med namnet PatientForm.resources från de för närvarande kör sammansättningarna och visar namnet och värdet för var och en av dess resurser.

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

Om C#-exemplet heter Example.cskan du kompilera det med hjälp av följande kommando:

csc Example.cs /res:PatientForm.resources

Om det Visual Basic exemplet heter Example.vb kan du kompilera det med hjälp av följande kommando:

vbc Example.vb /res:PatientForm.resources

Kommentarer

Konstruktorn ResourceReader(Stream) instansierar ett ResourceReader objekt som hämtar resurser från en fristående .resources-fil eller från en .resources-fil som är inbäddad i en sammansättning. Om du vill läsa från en fristående .resources-fil instansierar du ett Stream objekt och skickar det till ResourceReader(Stream) konstruktorn. Om du vill läsa från en inbäddad .resources-fil anropar Assembly.GetManifestResourceStream du metoden med det skiftlägeskänsliga namnet på .resources-filen och skickar det returnerade Stream objektet till ResourceReader(Stream) konstruktorn.

Important

Att använda en instans av den här typen med ej betrodda data är en säkerhetsrisk. Använd endast det här objektet med betrodda data. För mer information, se Verifiera alla indata.

Se även

Gäller för

ResourceReader(String)

Initierar en ny instans av ResourceReader klassen för den angivna namngivna resursfilen.

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

Parametrar

fileName
String

Sökvägen och namnet på resursfilen som ska läsas. filename är inte skiftlägeskänsligt.

Undantag

Parametern fileName är null.

Det går inte att hitta filen.

Ett I/O-fel har inträffat.

Resursfilen har ett ogiltigt format. Filens längd kan till exempel vara noll.

Exempel

I exemplet i det här avsnittet används följande .txt fil med namnet PatientForm.txt för att definiera de resurser som används av ett program.

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

Du kan kompilera den här .txt filen till en .resources-fil genom att utfärda följande kommando:

resgen PatientForm.txt

I följande exempel räknas resurserna upp i PatientForm.resources och namnet och värdet för varje visas.

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

Kommentarer

Konstruktorn ResourceReader(String) instansierar ett ResourceReader objekt som hämtar resurser från en fristående .resources-fil. Om du vill hämta resurser från en inbäddad .resources-fil använder du ResourceReader(Stream) konstruktorn.

Important

Att använda en instans av den här typen med ej betrodda data är en säkerhetsrisk. Använd endast det här objektet med betrodda data. För mer information, se Verifiera alla indata.

Gäller för