Dot-Net

在VB中創建匿名類型列表

  • June 23, 2009

我想創建一個匿名類型的列表,例如:

Dim lineItem = New With {.Name = myFile(index).Last_Name & ", " & myFile(index).First_Name, _
                        .StartDate = myFile(index).Day,
                        .EndDate = myFile(index).Day}

我創建了那個匿名類型。現在我想將它添加到該類型的列表中。如何聲明該類型的列表?

這是從單個匿名類型創建匿名類型列表的便捷方法。

Public Function CreateListFromSingle(Of T)(ByVal p1 As T) As List(Of T)
 Dim list As New List(Of T)
 list.Add(p1)
 return List
End Function

現在您可以執行以下操作

Dim list = CreateListFromSingle(dsResource)

EDIT OP 想要一種在創建元素之前創建列表的方法。

有兩種方法可以做到這一點。您可以使用以下程式碼創建一個空列表。它與hacky接壤,因為您正在傳遞您從未打算使用的參數,但它可以工作。

 Public Function CreateEmptyList(Of T)(ByVal unused As T) As List(Of T)
   Return New List(Of T)()
 End Function

 Dim x = CreateEmptyList(New With { .Name = String.Empty, .ID = 42 })

引用自:https://stackoverflow.com/questions/1034075