ResourceReader Konstruktory
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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.