问题标签 [anonymous-methods]

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 投票
6 回答
49599 浏览

c# - C# 中的匿名委托

我不能是唯一一个厌倦了定义和命名委托的人,因为我只是对需要委托的东西的一次调用。例如,我想以可能来自其他线程的表单调用 .Refresh(),所以我编写了以下代码:

我什至不确定我必须这样做,我只是读了足够多的书,害怕它在以后的某个阶段不起作用。
InvokeDelegate 实际上是在另一个文件中声明的,但我真的需要一个专门为此而设计的委托吗?根本没有任何通用代表吗?
我的意思是,例如,有一个 Pen 类,但也有 Pens。选择笔,因此您不必重新制作整个东西。不一样,但我希望你明白我的意思。

0 投票
6 回答
1342 浏览

c# - C# 3.0 中匿名方法的闭包

为什么匿名方法存在闭包?为什么不直接将状态传递给方法,而无需生成新类的开销并复制闭包变量?这不只是“让一切全球化”的倒退吗?

有人劝我,我觉得我在这里遗漏了一些东西......

0 投票
6 回答
33397 浏览

c# - 匿名方法作为 BeginInvoke 的参数?

为什么不能将匿名方法作为参数传递给BeginInvoke方法?我有以下代码:

我试图避免声明代表。为什么我不能写类似下面的东西呢?或者我可以,我只是想不出正确的语法?以下当前生成:

参数类型“匿名方法”不可分配给参数类型“System.Delegate”

好的,这当然是对的,但是我可以使用其他一些语法来执行此操作(避免必须声明单独的委托才能使用BeginInvoke()?

(能够做到这一点将完全符合使用匿名方法/lamdas 代替显式委托的概念,这在其他任何地方都非常干净。)

0 投票
7 回答
612 浏览

c# - 在 C# 中编写匿名函数的推荐方法是什么?

我认为 sort2 更明确,但 sort 1 更短。除此之外,我真的不知道有什么区别。这样做的推荐方法是什么?

0 投票
6 回答
241 浏览

c# - 为 lambda/ anon-method 复制捕获的变量时的术语

我翻译了这段代码(它只捕获外部变量有不好的副作用):

至此代码(因为上述代码不起作用):

解决这种鲜为人知的副作用的正确术语是什么?现在,我评论说“必须捕获变量”。捕获这个词是正确的术语吗?

0 投票
1 回答
261 浏览

c# - 在闭包中访问“自我”对象

我有以下问题:(c#)

有一些类(IRC bot),它有方法,需要一些事件的结果才能完成(通过它可能是异步的)。

可能不清楚:

我想在功能完成后删除该委托。有什么方法可以在它本身中获取对闭包的引用?

0 投票
1 回答
392 浏览

c# - C# 中的简单匿名方法

请参阅下面的第二段代码。代码无法编译。我试图找出匿名方法,我明白了..

但不是我在网上找到的不使用匿名方法的示例,它无法编译

使用VS2008..编译成.NET3.5

0 投票
6 回答
17280 浏览

c# - C# 中的匿名方法可以调用自身吗?

我有以下代码:

是否有另一种方法可以在 C# 中设置匿名方法以便它可以调用自己?

0 投票
3 回答
1243 浏览

c# - C# 中的类似 JavaScript 的匿名函数

可以在 C# 中完成以下操作吗?:

我想做一些事情(C# 伪代码):

基本上我想实现一些逻辑的内联范围,而不是将该块逻辑移动到一个单独的方法中。

0 投票
5 回答
23969 浏览

c# - 在 C# 中,为什么匿名方法不能包含 yield 语句?

我认为做这样的事情会很好(使用 lambda 进行收益返回):

但是,我发现我不能在匿名方法中使用 yield。我想知道为什么。产量文档只是说这是不允许的。

由于不允许,我只是创建了 List 并将项目添加到其中。