共用方式為


HOW TO:宣告匿名型別的執行個體

更新:2007 年 11 月

使用匿名型別建立物件時,您不需要撰寫資料型別的類別定義,編譯器 (Compiler) 會替您建立類別。因為未指定資料型別的名稱,所以此型別稱為「匿名型別」(Anonymous Type)。

您會使用初始設定式清單來指定匿名型別的屬性,藉以宣告匿名型別的執行個體 (Instance)。您需提供執行個體的名稱、每個屬性的名稱和每個屬性的初始值,並指出每個屬性是否為索引鍵屬性。

宣告

若要宣告匿名型別的執行個體

  1. 起始 Dim 陳述式 (Statement),不需使用 As 子句。

    Dim instanceName

  2. 在同一個陳述式中,將型別的屬性清單指派至 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"}
    
  3. 已完成宣告。除了不能變更索引鍵屬性的值以外,您可以針對任何物件存取 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
    
  4. 如需其他用以宣告匿名型別屬性之方式的詳細資訊,請參閱 HOW TO:在匿名型別宣告中推斷屬性名稱和型別

穩固程式設計

如果您想建立一個暫存物件以包含相關資料,或者希望每個宣告可有不同的屬性選項,匿名型別會是個好選擇。

匿名型別的使用方式有所限制。最重要的是,匿名型別的名稱無法使用,也不能出現在程式碼中需有型別名稱的地方。如需如何使用匿名型別設計程式的詳細資訊,請參閱匿名型別

請參閱

工作

HOW TO:在匿名型別宣告中推斷屬性名稱和型別

概念

區域型別推斷

匿名型別

參考

Key (Visual Basic)