ResourceReader.GetEnumerator 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳回這個 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 檔案:
resgen PatientForm.txt
下列範例會列舉 中的 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 方法來列舉資源,然後在傳IDictionaryEnumerator回的對象上重複呼叫 MoveNext 方法,直到方法傳false
回 為止。 資源名稱可從 IDictionaryEnumerator.Key 屬性取得;其來自 屬性的值 IDictionaryEnumerator.Value 。 此範例說明如何以這種方式列舉資源。
類別的 IDictionaryEnumerator.ValueResourceReader 屬性實作可能會擲回下列例外狀況:
-
元件,包含找不到數據所屬的型別。
-
數據不是預期的格式。
-
找不到數據所屬的類型。
您可以呼叫 GetResourceData 方法來擷取指派給具名資源之數據類型和位元組陣列的相關信息,以處理例外狀況。 For more information, see the "Retrieving Resources by Name with GetResourceData" section in the ResourceReader class topic.
重要
類別 ResourceReader 包含兩個傳回列舉值的方法。 方法 GetEnumerator 會傳 IDictionaryEnumerator 回介面物件,而且是列舉資源時所要呼叫的建議方法。
適用於
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應