Поделиться через


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) конструктор .

Важно!

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

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