我一直在将LINQ与编译查询一起使用,基本上是通过Func传递给编译查询的,但是问题是它最多具有四个参数。

扩展此范围是一种好习惯吗?

有什么方法可以扩展此范围,还是应该创建自己的委托?

有时我需要传递六个参数,而其他五个则传递四个或更少的参数...因此,只要传递四个或更少的参数,我就可以继续使用Func委托。

当前传入的数据上下文和我需要的参数混合取决于每个单独的编译查询。

最佳答案

只需声明自己的代表-只需一行代码即可。如果需要,请参见my examples for declaring the .NET 3.5 delegates in .NET 2.0以获取一种模板。

我不知道这对LINQ编译查询的效果如何-希望这不会成为问题,但是您的用例还不够清楚,我无法肯定地说。

请注意,在.NET 4.0中,最多支持8个参数的Func / Action。

10-07 20:05
查看更多