问题标签 [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.
delphi - 匿名方法转换为指针
谁能解释为什么下面的代码失败了?
我假设匿名方法可以简单地通过指针转换和使用,但这似乎是一个错误的假设。此外,任何解释匿名方法如何在后台实现的资源都会很棒。TIA。
c# - C# 到 VB - 如何转换此匿名方法/lambda 表达式?
您如何将其转换为 VB(使用 .NET 4.0 / VS2010)?
我想可能是这样的:
但它说 Function 不会在所有代码路径上返回值。
想法?
c# - 通过匿名方法分配匿名类型的属性
我是 C# 功能方面的新手,如果问题很蹩脚,我很抱歉。
鉴于以下错误代码:
此代码产生以下合理的编译器错误:
无法将 lambda 表达式分配给匿名类型属性
上面的代码会将委托设置为 FileName 属性。但这不是我的目标。我希望代码像这样工作,但不命名方法:
有什么建议么?
c# - 行动vs匿名方法问题
我回答了一个问题,又提出了另一个问题,为什么以下不起作用?我不明白。编译器说:无法转换匿名方法做字符串。但为什么?
c# - 如何以匿名方法破坏 WinDbg?
标题有点说明了一切。通常的 SOS 命令!bpmd没有名字就没有多大用处。
我的一些想法:
- 转储每个方法,然后在找到相应的 MethodDesc 时
使用!bpmd -md
- 据我所知,在现实世界的使用中不实用。即使我编写了一个宏来将转储限制为匿名类型/方法,也没有明显的方法可以将它们区分开来。
- 使用 Reflector 转储 MSIL 名称
- 在处理动态程序集和/或 Reflection.Emit 时没有帮助。Visual Studio 无法在此类场景中读取本地变量是我首先转向 Windbg 的全部原因......
- 在VS中设置断点,等待它命中,然后使用无创技巧更改为Windbg
- 尝试从 VS 分离会导致它挂起(与应用程序一起)。我认为这是因为托管调试器是通过线程注入实现的“软”调试器,而不是标准的“硬”调试器。或者它可能只是 Silverlight 特有的一个 VS 错误(我几乎不会遇到第一个)。
- 在已知调用匿名方法的其他位置设置断点,然后单步执行
- 我的备用计划,但如果此问答揭示了更好的方法,我宁愿不采用它
c# - 如何识别 System.Reflection 中的匿名方法
如何通过反射识别匿名方法?
c# - anonymos方法的丑事和优点-C#
我被要求解释匿名方法的丑陋之处和优点。
我解释了可能
丑陋的东西
好处
我们可以使用匿名方法生成线程安全代码:示例
但实际上我不知道它是否是线程安全的。我被要求证明它的合理性。谁能帮我理解 (1)匿名方法的优点(2)上面的代码线程安全吗?
c# - C# -Closure -Clarification
我正在学习 C#。我的意思是闭包吗 a construct that can adopt the changes in the environment in which it is defined.
例子 :
该变量id
在 FindPersonByID() 的范围内声明,但我们仍然可以访问id
匿名函数内的局部变量(即)delegate(Person x) { return x.id == id; }
(1) 我对闭包的理解是否正确?
(2) 我们可以从闭包中获得什么优势?
c# - 如何调用从匿名方法创建的 MethodInfo?
在上一个问题中,我询问了如何MethodInfo
从 Action 委托中获取 a。此操作委托是匿名创建的(来自 Lambda)。我现在遇到的问题是我不能调用MethodInfo
,因为它需要一个MethodInfo
属于的对象。在这种情况下,由于代表是匿名的,因此没有所有者。我收到以下异常:
System.Reflection.TargetException :对象与目标类型不匹配。
我正在使用的框架(NUnit)要求我使用反射来执行,所以我必须在提供的墙壁内玩。我真的不想诉诸于Emit
创建动态程序集/模块/类型/方法只是为了执行我已经拥有的委托。
谢谢。
c# - IEnumerable的C#匿名方法变量范围问题
我正在尝试遍历所有组件,并且对于那些实现 ISupportsOpen 的人允许打开一个项目。问题是当调用匿名方法时,组件变量始终是相同的元素(来自 IEnumerable 的外部范围)
请问应该怎么解决?