这是返回类型集合最直接的方法吗?在这个例子中是否有一个本地LINQ方法来返回一个类型化的集合?
抱歉重复的问题。现在我正在寻找更好的方法...
以下是返回隐式IEnumerable类型的代码的关键代码,该代码用于手动循环以手动重新创建TYPED集合。是否有任何本地LINQ方法返回一个类型化的排序集合,而不重新创建集合?
Dim Sorted As ErrorProviderMessageCollection = New ErrorProviderMessageCollection(From item In MyCollection Order By item.Control.TabIndex)
Public Class ErrorProviderMessageCollection
Inherits System.Collections.ObjectModel.Collection(Of ErrorProviderMessage)
Public Sub New()
End Sub
Public Sub New(ByVal source As IEnumerable(Of ErrorProviderMessage))
Dim orderedCollection = New ErrorProviderMessageCollection()
For Each Item As ErrorProviderMessage In source
Me.Add(Item)
Next
End Sub
End Class
Public Class ErrorProviderMessage
Public Sub New(ByVal message As String, ByVal control As Control)
_Message = message
_Control = control
End Sub
Public ReadOnly Property Message() As String
Public ReadOnly Property Control() As Control
End Class
什么好处呢'ErrorProviderMessageCollection'给您通过简单的通用'名单< ErrorProviderMessage>'?在C#中,LINQ查询末尾的一个简单的'.ToList()'看起来就是您需要的全部内容。 – 2011-04-18 23:32:27