Vb.net 如何在SSRS 2008 R2报告中使用嵌入代码的Lambda函数?

Vb.net 如何在SSRS 2008 R2报告中使用嵌入代码的Lambda函数?,vb.net,linq,sharepoint-2010,ssrs-2008-r2,Vb.net,Linq,Sharepoint 2010,Ssrs 2008 R2,使用带有嵌入式代码的SSRS2008R2,VB.Net代码编译器似乎会在需要执行最简单语句以外的任何操作时出错 例如,我想使用LINQ Select函数对集合的元素执行一些操作,但BIDS不断在完全有效的VB.Net代码行上抛出编译器错误 公共函数SplitToIDsByVal多值作为字符串作为整数 Dim regex作为新系统.Text.RegularExpressions.regex?>.*\d*;,System.Text.RegularExpressions.RegexOptions.Co

使用带有嵌入式代码的SSRS2008R2,VB.Net代码编译器似乎会在需要执行最简单语句以外的任何操作时出错

例如,我想使用LINQ Select函数对集合的元素执行一些操作,但BIDS不断在完全有效的VB.Net代码行上抛出编译器错误

公共函数SplitToIDsByVal多值作为字符串作为整数 Dim regex作为新系统.Text.RegularExpressions.regex?>.*\d*;,System.Text.RegularExpressions.RegexOptions.Compiled或System.Text.RegularExpressions.RegexOptions.ExplicitCapture或System.Text.RegularExpressions.RegexOptions.CultureInvariant或System.Text.RegularExpressions.RegexOptions.IgnoreCase 将结果变暗为新System.Collections.Generic.ListOf字符串 Dim匹配为System.Text.RegularExpressions.MatchCollection=regex.MatchesmultiValue 对于每个mvMatch,在匹配项中作为System.Text.RegularExpressions.Match results.AddmvMatch.Value 下一个 '作为字符串的Dim对=SplitToPairsmultiValue 'Dim名称为System.Collections.Generic.IEnumerableOf Integer=System.Linq.Enumerable.Selectpairs,Functionp Integer.ParseMicrosoft.VisualBasic.Splitp;1. Dim名称为System.Collections.Generic.IEnumerableOf Integer=System.Linq.Enumerable.Selectresults,Functionp Integer.ParseMicrosoft.VisualBasic.Splitp;1. 返回System.Linq.Enumerable.ToArraynames 端函数 在第42行,即我调用System.Linq.Enumerable.Select的正上方注释中,Visual Studio 2008 SQL Server 2008 R2安装的VS Shell在我尝试预览报告时出现以下错误:

本地报表处理过程中出错。 报表“/XXXX”的定义无效。 自定义代码[BC30201]表达式的第42行出现错误。 我已经了解到[BC30201]是一个与缺少的表达式关系不大的通用错误。正如在我的代码中所看到的,除了最基本的系统名称空间类之外,我已经对每个函数或变量进行了完全的名称空间限定。在“报告属性”对话框的“引用”选项卡中,我已经引用了mscorlib和System.Core,以确保我在代码中使用的所有函数都可以解析为系统程序集

所以有几个问题

匿名函数可以在SSRS 2008 R2报告的嵌入代码中调用和使用吗? 在这一点上,当我试图从另一个方法调用嵌入代码中的一个方法时,我得到了相同的[BC30201]错误。然而,我确信在本报告或其他报告的早期迭代中,我有一些更简单的方法,这些方法是否真的有效。。。我们应该能够在嵌入式代码中从一个自定义方法调用另一个自定义方法吗? 注:

我很想创建一个单独的代码模块,但我真的不想为了说服很多人我们应该在报表服务器上安装自定义程序集而进行必要的政治斗争。但是,除非我可以直接从各种报表表达式调用这些程序集,否则我可能仍然需要使用嵌入的代码使程序集的方法可用于报表

源数据来自SharePoint 2010列表。许多列是允许多个值的查找列。上面的方法去掉分隔符和值以返回ID集合