ResourceReader Конструкторы

Определение

Инициализирует новый экземпляр класса ResourceReader.

Перегрузки

ResourceReader(Stream)

Инициализирует новый экземпляр класса ResourceReader для заданного потока.

ResourceReader(String)

Инициализирует новый экземпляр класса ResourceReader для указанного именованного файла ресурсов.

Комментарии

> [! ВАЖНО] > Использование экземпляра этого объекта с недоверенными данными представляет угрозу безопасности. Используйте этот объект только с надежными данными. Дополнительные сведения см. в разделе Проверка всех входных данных.

ResourceReader(Stream)

Исходный код:
ResourceReader.cs
Исходный код:
ResourceReader.cs
Исходный код:
ResourceReader.cs

Инициализирует новый экземпляр класса ResourceReader для заданного потока.

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)

Параметры

stream
Stream

Входной поток для чтения ресурсов.

Атрибуты

Исключения

Параметр stream недоступен для чтения.

Параметр stream имеет значение null.

При доступе к stream произошла ошибка ввода/вывода.

Примеры

В примере в этом разделе используется следующий файл .txt с именем PatientForm.txt для определения ресурсов, используемых приложением.

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

Вы можете скомпилировать файл .txt в RESOURCES-файл, выполнив следующую команду:

PatientForm.txtresgen

В следующем примере предполагается, что файл ресурсов внедрен в сборку, содержащую исполняемый код приложения. Он извлекает файл ресурсов с именем PatientForm.resources из выполняющихся в данный момент сборок и отображает имя и значение каждого из своих ресурсов.

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

Если пример C# называется Example.cs, его можно скомпилировать с помощью следующей команды:

csc Example.cs /res:PatientForm.resources

Если пример Visual Basic называется Example.vb, его можно скомпилировать с помощью следующей команды:

vbc Example.vb /res:PatientForm.resources

Комментарии

Конструктор ResourceReader(Stream) создает ResourceReader экземпляр объекта , который извлекает ресурсы из изолированного RESOURCES-файла или из RESOURCES-файла, внедренного в сборку. Для чтения из изолированного RESOURCES-файла создайте Stream экземпляр объекта и передайте его конструктору ResourceReader(Stream) . Для чтения из внедренного RESOURCES-файла вызовите Assembly.GetManifestResourceStream метод с учетом регистра имени RESOURCES-файла и передайте возвращенный Stream объект конструктору ResourceReader(Stream) .

Важно!

Использование экземпляра этого объекта с ненадежными данными представляет угрозу безопасности. Используйте этот объект только с надежными данными. Дополнительные сведения см. в разделе Проверка всех входных данных.

См. также раздел

Применяется к

ResourceReader(String)

Исходный код:
ResourceReader.cs
Исходный код:
ResourceReader.cs
Исходный код:
ResourceReader.cs

Инициализирует новый экземпляр класса ResourceReader для указанного именованного файла ресурсов.

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

Параметры

fileName
String

Путь к файлу и имя файла ресурсов для чтения. filename не учитывает регистр.

Исключения

Параметр fileName имеет значение null.

Файл не найден.

Произошла ошибка ввода-вывода.

Файле ресурса имеет недопустимый формат. Например, длина файла может быть равна нулю.

Примеры

В примере в этом разделе используется следующий файл .txt с именем PatientForm.txt для определения ресурсов, используемых приложением.

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

Этот .txt файл можно скомпилировать в RESOURCES-файл, выполнив следующую команду:

PatientForm.txtresgen

В следующем примере перечисляются ресурсы в PatientForm.resources и отображаются имя и значение каждого из них.

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

Комментарии

Конструктор ResourceReader(String) создает ResourceReader экземпляр объекта , который извлекает ресурсы из изолированного RESOURCES-файла. Чтобы получить ресурсы из внедренного RESOURCES-файла, используйте ResourceReader(Stream) конструктор .

Важно!

Использование экземпляра этого объекта с ненадежными данными представляет угрозу безопасности. Используйте этот объект только с надежными данными. Дополнительные сведения см. в разделе Проверка всех входных данных.

Применяется к