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 может вызывать следующие исключения:
-
Не удается найти сборку, содержащую тип, которому принадлежат данные.
-
Данные не в ожидаемом формате.
-
Не удается найти тип, которому принадлежат данные.
Вы можете обработать исключение, вызвав GetResourceData метод для получения сведений о типе данных и массиве байтов, назначенном именованный ресурс. Дополнительные сведения см. в разделе "Извлечение ресурсов по имени с помощью GetResourceData" раздела класса ResourceReader .
Важно!
Класс ResourceReader включает два метода, возвращающих перечислители. Метод GetEnumerator возвращает IDictionaryEnumerator объект интерфейса и является рекомендуемым методом для вызова при перечислении ресурсов.