HOW TO:宣告匿名型別的執行個體 (Visual Basic)
使用匿名型別建立物件時,您不需要撰寫資料型別的類別定義, 編譯器 (Compiler) 會替您建立類別。 因為未指定資料型別的名稱,所以此型別稱為「匿名型別」(Anonymous Type)。
您會使用初始設定式清單來指定匿名型別的屬性,藉以宣告匿名型別的執行個體 (Instance)。 您需提供執行個體的名稱、每個屬性的名稱和每個屬性的初始值,並指出每個屬性是否為索引鍵屬性。
宣告
若要宣告匿名型別的執行個體
起始 Dim 陳述式 (Statement),不需使用 As 子句。
Dim instanceName
在同一個陳述式中,將型別的屬性清單指派至 instanceName,此清單包含在大括弧中並且以關鍵字 New With 做為開頭。
Dim instanceName = New With {<property names and initial values>}
以句號做為每個新屬性名稱的開頭,並指派其初始值。 如果您希望此屬性成為索引鍵屬性,則以關鍵字 Key 做為屬性名稱的開頭。 (如需詳細資訊,請參閱 Key (Visual Basic))。使用逗號分隔屬性。 請注意,您不能直接指定屬性的資料型別。 此型別是從初始值推論而來。
Dim instanceName = New With {Key .Rank = 8, Key .Title = "Comptroller", .Location = "headquarters"}
已完成宣告。 除了不能變更索引鍵屬性的值以外,您可以針對任何物件存取 instanceName 的屬性。
instanceName.Location = "conference" Console.WriteLine(instanceName.Title) ' The following statement does not compile, because Rank is ' a key property and cannot be changed. ' instanceName.Rank = 9
如需其他用以宣告匿名型別屬性之方式的詳細資訊,請參閱 HOW TO:在匿名型別宣告中推斷屬性名稱和型別 (Visual Basic)。
穩固程式設計
如果您想建立一個暫存物件以包含相關資料,或者希望每個宣告可有不同的屬性選項,匿名型別會是個好選擇。
匿名型別的使用方式有所限制。 最重要的是,匿名型別的名稱無法使用,也不能出現在程式碼中需有型別名稱的地方。 如需如何使用匿名型別設計程式的詳細資訊,請參閱匿名型別 (Visual Basic)。
請參閱
工作
HOW TO:在匿名型別宣告中推斷屬性名稱和型別 (Visual Basic)