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


ResourceReader.GetEnumerator Метод

Определение

Возвращает перечислитель для данного объекта ResourceReader.

public:
 virtual System::Collections::IDictionaryEnumerator ^ GetEnumerator();
public:
 System::Collections::IDictionaryEnumerator ^ GetEnumerator();
public System.Collections.IDictionaryEnumerator GetEnumerator ();
abstract member GetEnumerator : unit -> System.Collections.IDictionaryEnumerator
override this.GetEnumerator : unit -> System.Collections.IDictionaryEnumerator
member this.GetEnumerator : unit -> System.Collections.IDictionaryEnumerator
Public Function GetEnumerator () As IDictionaryEnumerator

Возвращаемое значение

Перечислитель для этого объекта ResourceReader.

Реализации

Исключения

Устройство чтения уже закрыто или удалено, поэтому доступ невозможен.

Примеры

В примере в этом разделе используется следующий файл .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:"

Комментарии

Как правило, перечисляются ресурсы путем вызова GetEnumerator метода , а затем повторного MoveNext вызова метода для возвращаемого IDictionaryEnumerator объекта, пока метод не вернет false. Имя ресурса доступно в свойстве IDictionaryEnumerator.Key ; его значение — в свойстве IDictionaryEnumerator.Value . В этом примере показано, как таким образом перечислить ресурсы.

Реализация IDictionaryEnumerator.Value свойства классом ResourceReader может вызывать следующие исключения:

  • FileNotFoundException

    Не удается найти сборку, содержащую тип, которому принадлежат данные.

  • FormatException

    Данные не в ожидаемом формате.

  • TypeLoadException

    Не удается найти тип, которому принадлежат данные.

Вы можете обработать исключение, вызвав GetResourceData метод для получения сведений о типе данных и массиве байтов, назначенном именованный ресурс. Дополнительные сведения см. в разделе "Извлечение ресурсов по имени с помощью GetResourceData" раздела класса ResourceReader .

Важно!

Класс ResourceReader включает два метода, возвращающих перечислители. Метод GetEnumerator возвращает IDictionaryEnumerator объект интерфейса и является рекомендуемым методом для вызова при перечислении ресурсов.

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

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