ResourceReader.GetEnumerator Metoda

Definicja

Zwraca moduł wyliczający dla tego ResourceReader obiektu.Returns an enumerator for this ResourceReader object.

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

Zwraca

IDictionaryEnumerator

Moduł wyliczający dla tego ResourceReader obiektu.An enumerator for this ResourceReader object.

Implementuje

Wyjątki

Czytnik został zamknięty lub usunięty i nie można uzyskać do niego dostępu.The reader has been closed or disposed, and cannot be accessed.

Przykłady

W przykładzie w tej sekcji jest używany następujący plik txt o nazwie PatientForm.txt do definiowania zasobów używanych przez aplikację.The example in this section uses the following .txt file named PatientForm.txt to define the resources used by an application.

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ć do pliku Resources, wydając następujące polecenie:You can compile the .txt file into a .resources file by issuing the following command:

Resgen PatientForm.txtresgen PatientForm.txt

Poniższy przykład wylicza zasoby w PatientForm.resources i wyświetla nazwę i wartość każdego z nich.The following example enumerates the resources in PatientForm.resources and displays the name and value of each.

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

Zwykle wyliczane są zasoby przez wywołanie GetEnumerator metody, a następnie wielokrotne wywołanie MoveNext metody na zwracanym IDictionaryEnumerator obiekcie do momentu zwrócenia metody false .Typically, you enumerate resources by calling the GetEnumerator method and then repeatedly calling the MoveNext method on the returned IDictionaryEnumerator object until the method returns false. Nazwa zasobu jest dostępna z IDictionaryEnumerator.Key właściwości; jej wartość IDictionaryEnumerator.Value właściwości.The resource name is available from the IDictionaryEnumerator.Key property; its value from the IDictionaryEnumerator.Value property. Przykład ilustruje sposób wyliczania zasobów w ten sposób.The example illustrates how to enumerate resources in this way.

Implementacja IDictionaryEnumerator.Value Właściwości przez ResourceReader klasę może zgłosić następujące wyjątki:The implementation of the IDictionaryEnumerator.Value property by the ResourceReader class can throw the following exceptions:

  • FileNotFoundException

    Nie można odnaleźć zestawu, który zawiera typ, do którego należy dane.The assembly that contains the type to which the data belongs cannot be found.

  • FormatException

    Dane mają nieoczekiwany format.The data is not in the expected format.

  • TypeLoadException

    Typ, do którego należy dane, nie może zostać znaleziony.The type to which the data belongs cannot be found.

Możesz obsłużyć wyjątek, wywołując GetResourceData metodę w celu pobrania informacji o typie danych i tablicy bajtowej przypisanej do nazwanego zasobu.You can handle the exception by calling the GetResourceData method to retrieve information about the data type and the byte array assigned to the named resource. Aby uzyskać więcej informacji, zobacz sekcję "Pobieranie zasobów według nazwy z GetResourceData" w temacie dotyczącym ResourceReader klas.For more information, see the "Retrieving Resources by Name with GetResourceData" section in the ResourceReader class topic.

Ważne

ResourceReaderKlasa obejmuje dwie metody, które zwracają moduł wyliczający.The ResourceReader class includes two methods that return enumerators. GetEnumeratorMetoda zwraca IDictionaryEnumerator obiekt interfejsu i jest zalecaną metodą wywołania podczas wyliczania zasobów.The GetEnumerator method returns an IDictionaryEnumerator interface object and is the recommended method to call when enumerating resources.

Dotyczy

Zobacz też