问题标签 [func]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
632 浏览

c# - 如何调用 Func 设置本地 List<>

我想我在这里遗漏了一些东西,但有人可以解释我如何让它工作

我有一个采用 Func 的方法,我想在方法中执行该 func 并将结果存储在本地 var 中。

这不起作用。它说它不能转换 Lambda,因为它不是委托类型。

有任何想法吗?


好的接受泛型的错误使用,谢谢。

这就是我试图称呼它的方式:

所以我已经有了我的 lamda 表达式,我只需要 Findtype 来获取结果并将其存储在局部变量中。

我可能再次错过了这一点,但非常感谢您的指导。

0 投票
2 回答
11702 浏览

c# - C# Action 和 Func 参数重载

我需要一个采用Action(或Func)的方法,但Action 有混合数量的参数。实现这些重载的最直接和紧凑的方法是什么:

方法的内容是完全一样的,除了动作的执行和它的参数。

如果可能,不要使用任何 C# 4.0 特定的功能来解决这个问题。

0 投票
3 回答
2940 浏览

c# - 5 个参数的函数

我正在使用 System.Func,但遇到了一个绊脚石。

它接受的最大值是 4 个参数。

有没有办法将其扩展到 5 个参数?

0 投票
1 回答
1324 浏览

c# - 获取表达式参数名称

我需要获取表达式参数的名称。我想做的类似于 FluentNhibernate 对列映射所做的事情:

地图(x => x.Name)

由此,我需要“名称”。

我该怎么做呢?

我可以x这样做:

但我无法获得“名称”。请注意,我没有任何可以调用的 T i 实例。谢谢

0 投票
1 回答
757 浏览

linq - 带有 Func 和 Method 的“类型已经包含定义”

我有以下一段代码

它产生以下错误:

“Purchasing.Data.Requisition”类型已经包含“GetRequisitions”的定义

我真的不明白为什么,我曾假设,也许错误地认为 Func 是一种方法。在这种情况下,我只是在这里超载。也许它是不同的,或者我只是做错了什么。任何建议都会非常感谢

将要

0 投票
1 回答
190 浏览

c# - 我怎样才能创建这个函数?

灵感来自:
NServiceBus.Configure.With().Log4Net(a => a.YourProperty = "value");

我想使用类似于配置的东西,欢迎提出建议。我最大的问题是我不太清楚如何使用参数输入......

这里到底发生了什么?NServiceBus 使用 Log4Net 作为实例?设置 YourProperty = 值?

请从 NServiceBus 等中抽象出来。我刚刚提供了它作为讨论的基础。

0 投票
1 回答
1515 浏览

c# - 将委托作为参数传递时返回泛型类型的方法

我正在尝试“通用化”我们散布在系统周围的一些代码。

我想要:

  1. 返回一个泛型类型,
  2. 传入某种包含要调用的方法的委托。

我对泛型很陌生,所以任何帮助表示赞赏。

下面是我的手指在空中的地方(!)

0 投票
2 回答
249 浏览

c# - 我可以定义一个方法来接受一个 Func或表达式>?

如果我尝试编写一个方法的两个重载,一个接受Expression<Func<T>>参数,另一个接受 a Func<T>,在尝试使用 lambda 表达式调用该方法时会出现编译器错误,因为这两个签名会产生歧义。以下将是有问题的,例如:

我明白了。但我不喜欢只接受 的方法Expression<Func<string>>,因为这会强制调用代码使用 lambda 表达式。如果我也希望能够接受方法组怎么办?

我提出这个问题的基础是我正在编写一些我希望能够编写如下代码的代码:

...并得到这样的输出:

同时,我也希望能够做到这一点:

...并得到这样的输出:

有什么方法可以做我在这里尝试做的事情,而不仅仅是使用两个不同的方法名称(例如,ExpressionMethodFuncMethod)?我意识到这没什么大不了的。我只是好奇是否还有其他方法。

0 投票
3 回答
109 浏览

c# - 遇到 Func 的障碍

我有一个树视图,它代表一组记录的不同过滤器项目。在运行时,我将每个节点的标签设置为 Func 类型。例如:

ETC..

然后当用户点击节点时,我只需传递标签并将其用作获取数据的谓词:

这一切都很好,但我添加了一些基于一组记录创建节点的代码。它看起来像这样:

问题是动态创建的节点都包含相同的谓词对象(这似乎是在最后一次 forsearch 迭代期间创建的相同谓词)。

我不太确定这里发生了什么。任何想法?太感谢了!

0 投票
6 回答
5160 浏览

c# - 为什么 Func<> 从 Expression 创建> 比直接声明的 Func<> 慢?

为什么通过 .Compile()Func<>创建的Expression<Func<>>a 比直接使用Func<>声明的要慢得多?

我刚刚从使用Func<IInterface, object>声明的直接更改为从Expression<Func<IInterface, object>>我正在开发的应用程序中创建的声明,我注意到性能下降了。

我刚刚做了一个小测试,Func<>从表达式创建的时间“几乎”是Func<>直接声明的时间的两倍。

在我的机器上,DirectFunc<>大约需要 7.5 秒,Expression<Func<>>大约需要 12.6 秒。

这是我使用的测试代码(运行 Net 4.0)

我怎样才能恢复性能?

我能做些什么来让Func<>创建的Expression<Func<>>对象像直接声明的那样执行吗?