0
我試圖以通用的方式實現GroupBy函數,並且每次客戶端需要添加/更改某些內容時都不必保持添加屬性(是,我知道還有其他的選擇,有限的時間/預算將範圍限制在這個範圍或硬編碼更多的屬性,所以我試圖選擇更好的解決方案)。在VB.Net中實現自定義GroupBy函數
目前我有以下;
<!-- language: lang-vb -->
Dim groupByColumns = New Dictionary(Of String, Boolean) From {
{"Col1", True},
{"Col2", False},
...
}
Dim groupedData = data.GroupBy(Function(r)
Dim groupingResult = New List(Of KeyValuePair(Of String, Object))
For Each column In groupByColumns
Dim groupingValue As Object = Nothing
If column.Value Then
groupingValue = TypeDescriptor.GetProperties(r).Item(grouping.Key).GetValue(r)
End If
groupingResult.Add(New KeyValuePair(Of String, Object)(column.Key, groupingValue))
Next
Return groupingResult
End Function)
如果我那麼做一個OrderBy
或Select
它似乎是返回一個IGrouping
,這正是我所期望的,只有在data
對象的兩個數據行仍然未分組,即使它們是相同的。我不在google-fu,任何人都可以協助嗎?
當然!這是訣竅,謝謝。 – Trent