将system.linq引用添加到ssrs自定义代码中

时间:2015-06-16 14:53:57

标签: vb.net reporting-services

我为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

我错过了什么?

1 个答案:

答案 0 :(得分:3)

确定!我解决了自己的问题!我们需要使用像这样的完全限定的扩展方法。

smallest = System.Linq.Enumerable.Min(itemsList)

而不是打电话

itemsList.Min()

还要记得添加对System.Linq和System.Core的引用

希望这有帮助。