问题标签 [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 投票
2 回答
1559 浏览

c# - C#中匿名函数内的变量范围

我对 C# 中匿名函数内的变量范围有疑问。

考虑下面的程序:

我的 VS2008 IDE 出现以下错误:[Practice is a class inside namespace Practice]

1.error CS1643:并非所有代码路径都以“Practice.Practice.OtherDel”类型的匿名方法返回值 2.error CS1593:委托“OtherDel”不采用“0”参数。

有一本书告诉:Illustrated C# 2008(Page 373) int 变量 y在del2 定义的范围内。那么为什么会出现这些错误。

0 投票
2 回答
745 浏览

c# - 是什么让这个计时器保持在范围内?匿名方法?

行,

所以我有一个方法,当有人在silverlight应用程序中点击我们的图标时触发,如下所示:

发生的意思是 ShowInfo() 方法打开了一个包含公司信息的框,并且调度计时器在所述时间跨度后自动关闭它。这一切都有效......

但是我不确定是因为调度计时器是本地变量,在 Logo_MouseLeftButtonUp 方法完成后,有什么可以在触发匿名方法之前保持调度计时器被引用并且不可用于 GC 收集?

是匿名方法中对 ShowInfo() 方法的引用吗?

只是感觉有些事情我应该更深入地理解,因为我可以想象使用事件等,用这样的东西很容易造成泄漏。

希望这一切都有意义!

安迪。

0 投票
2 回答
2363 浏览

c# - MethodInfo.Invoke 与 Object[] 参数内的委托

让我试着举一个小例子。

可以像这样使用:

但是如果我需要通过 MethodInfo.Invoke 运行——就像在不同的 dll 中一样,两种方式都没有类型依赖关系。像:

无论应用什么技巧/演员,它都必须使它仍然作为真正的代表到达 Execute。实际代表可能有更复杂的签名等。

0 投票
1 回答
258 浏览

asp.net - 试图让 VB 匿名方法工作。查询列表

我试图让我的代码按照http://www.paulstovell.com/vb-anonymous-methods上的说明工作

到目前为止,我有包装:

然后我有了修改后的函数以使用我的部门 id 变量 (did)

然后我尝试从我的代码中调用它:

然后我在 DidMatch 上收到一个错误...错误方法“公共函数 DidMatch(项目作为 DeptMenuData,作为整数)作为布尔值”没有与委托“委托函数 PredicateWrapperDelegate(整数,整数)(项目作为整数)兼容的签名, 参数 As Integer) As Boolean'。

你能看到我做错了什么吗?

谢谢。

0 投票
3 回答
294 浏览

c# - 链式异步/事件调用是否有有用的设计模式?

我目前不得不在 Silverlight 中集成许多 Web 服务调用,这些调用类似于下面的代码。在所有 3 个加载完成之前,不应进行任何用户交互。

本质上,我希望调用是同步的,但是由于 Silverlight 中 Web 服务代理类的体系结构(一切都是事件驱动的),我不能这样做。

我的问题是,是否有一个更优雅的解决方案或者可能是一个以 .NET 为中心的设计模式,用于将我所拥有的东西从一个调用另一种方法、调用另一种方法的委托方法重构为更易于管理的东西?

我对代码的最大问题之一是实际的方法调用是在委托的大部分工作之后进行的。

0 投票
1 回答
175 浏览

c# - C#,用于处理依赖属性的更改和更新的简化代码

显然,我不是 C# 方面的专家。我想通过使用匿名处理程序或 lambda 来简化此代码,不确定。ValueHasChangedPropertyChangedCallback在 dp 更改时使用的,它确保将监视新对象的更新,以便使用相同的代码处理更改和更新ProcessNewValue:这里的遗憾是创建第二个处理程序ValueHasBeenUpdated只是为了调用相同的方法。是否有可能删除 的定义ValueHasBeenUpdated?谢谢。

0 投票
4 回答
175 浏览

c# - 为什么我不能使用这样的匿名方法?

为什么我不能拥有这个?我的意思是它会省去一个代表声明:

我知道可以这样做:

0 投票
2 回答
302 浏览

c# - 匿名方法太多是好事吗?(C#)

问候,

我正在使用大量匿名方法的代码库中工作,其中匿名方法链接其他匿名方法,这些方法调用第一个调用的相同事物。

这就是基本的故障,抱歉过于简化。

我担心的是,其中一种匿名方法会导致链接这样的调用出现问题。IMO 看起来它只是糟糕的递归,会导致 stackoverflow 异常。

提前感谢您的帮助。

0 投票
2 回答
372 浏览

delphi - 在 Delphi 2009 中使用泛型和匿名方法有什么问题?

我想开始使用泛型和匿名方法,主要是为了了解它们的全部内容以及我为什么要使用它们。

在使用 Delphi 2009 时,我经常读到泛型和匿名方法没有完全实现或存在错误,这在 Delphi 2010 中得到了修复。

我想避免每次都没有按我预期的那样工作时怀疑这是我的错还是 Delphi 2009 中的错误。

我的问题是:
在 Delphi 2009 中使用泛型和匿名方法时我会遇到哪些问题?
我应该避免什么?

0 投票
5 回答
271 浏览

c# - 奇怪的想法:C# - 在另一个方法中声明一个方法

好的,在 python 中可以做到这一点:

(这只是一个愚蠢的例子)我有时会错过在 c# 中在另一个方法中声明一个方法的功能。但是今天我有以下想法来实现这一点:

显然,该解决方法不提供与原始功能完全相同的功能,因为 Func 或 Action Delegates 仅限于 4 个参数,但很少需要超过 4 个参数......

您对此有何看法?
这是邪恶的吗?除了非常特殊的情况外,应该避免所有情况吗?
这个表现如何?每次调用函数时都会创建一个新的 bar 函数,还是编译器会以某种方式对其进行优化?