ResourceReader.GetEnumerator Metod

Definition

Returnerar en uppräknare för det här ResourceReader objektet.

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

Returer

En uppräknare för det här ResourceReader objektet.

Implementeringar

Undantag

Läsaren har stängts eller tagits bort och kan inte nås.

Exempel

I exemplet i det här avsnittet används följande .txt fil med namnet PatientForm.txt för att definiera de resurser som används av ett program.

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

Du kan kompilera .txt-filen till en .resources-fil genom att utfärda följande kommando:

resgen PatientForm.txt

I följande exempel räknas resurserna upp i PatientForm.resources och namnet och värdet för varje visas.

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

Kommentarer

Vanligtvis räknar du upp resurser genom att anropa GetEnumerator metoden och sedan upprepade gånger anropa MoveNext metoden för det returnerade IDictionaryEnumerator objektet tills metoden returnerar false. Resursnamnet är tillgängligt från egenskapen IDictionaryEnumerator.Key , dess värde från egenskapen IDictionaryEnumerator.Value . Exemplet illustrerar hur du räknar upp resurser på det här sättet.

Implementeringen av IDictionaryEnumerator.Value egenskapen av ResourceReader klassen kan utlösa följande undantag:

Du kan hantera undantaget genom att anropa GetResourceData metoden för att hämta information om datatypen och bytematrisen som tilldelats den namngivna resursen. Mer information finns i avsnittet "Hämta resurser efter namn med GetResourceData" i klassavsnittet ResourceReader .

Important

Klassen ResourceReader innehåller två metoder som returnerar uppräknare. Metoden GetEnumerator returnerar ett IDictionaryEnumerator gränssnittsobjekt och är den rekommenderade metoden att anropa när resurser räknas upp.

Gäller för

Se även