0 out of 1 rated this helpful - Rate this topic

ResourceReader.GetEnumerator Method

Returns an enumerator for this ResourceReader object.

Namespace:  System.Resources
Assembly:  mscorlib (in mscorlib.dll)
public IDictionaryEnumerator GetEnumerator()

Return Value

Type: System.Collections.IDictionaryEnumerator
An enumerator for this ResourceReader object.

Implements

IResourceReader.GetEnumerator()
Exception Condition
InvalidOperationException

The reader has been closed or disposed, and cannot be accessed.

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. The resource name is available from the Key property; its value from the Value property. The example illustrates how to enumerate resources in this way.

The implementation of the Value property by the ResourceReader class can throw the following exceptions:

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. For more information, see the "Retrieving Resources by Name with GetResourceData" section in the ResourceReader class topic.

Important note Important

Although the ResourceReader class implements the IEnumerable interface, the ResourceReader.GetEnumerator method does not provide the IEnumerable.GetEnumerator implementation. Instead, the ResourceReader.GetEnumerator method returns an IDictionaryEnumerator interface object.

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

You can compile the .txt file into a .resources file by issuing the following command:

resgen PatientForm.txt

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


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ