我为SSRS编写了一些使用集合的自定义代码,我在这些集合上使用了linq扩展方法Min。我收到错误“Min不是System.Collections.Genericlist(of T)的成员”
我尝试在报告属性窗口中添加以下引用,但没有运气。
System.Linq,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a
以下是代码:
Public Function GetMinValue(ByVal a As String, ByVal b As String, ByVal c As String, ByVal d As String)
Dim first As Decimal = System.Convert.ToDecimal(a)
Dim second As Decimal = System.Convert.ToDecimal(b)
Dim third As Decimal = System.Convert.ToDecimal(c)
Dim fourth As Decimal = System.Convert.ToDecimal(d)
Dim itemsList As New System.Collections.Generic.List(Of Decimal)()
If first <> 0 Then itemsList.Add(first)
If second <> 0 Then itemsList.Add(second)
If third <> 0 Then itemsList.Add(third)
If fourth <> 0 Then itemsList.Add(fourth)
Dim smallest As Decimal
Dim count As Integer = itemsList.Count
If count = 0 Then smallest = Nothing
If count > 0 Then smallest = itemsList.Min()
Return smallest
End Function
我错过了什么?
答案 0 :(得分:3)
确定!我解决了自己的问题!我们需要使用像这样的完全限定的扩展方法。
smallest = System.Linq.Enumerable.Min(itemsList)
而不是打电话
itemsList.Min()
还要记得添加对System.Linq和System.Core的引用
希望这有帮助。