anonymous-methods相关内容

匿名代表在C#

我不能唯一一个厌倦了定义和命名一个委托,只需要一个需要委托的东西的调用。例如,我想以可能的其他线程的形式调用.Refresh(),所以我写了这个代码: private void RefreshForm() { if(InvokeRequired) Invoke(new InvokeDelegate(Refresh)); else Refresh(); } ..
发布时间:2017-04-22 20:19:17 C#/.NET

匿名方法和代表

我尝试了解为什么BeginInvoke方法不会接受匿名方法。 void bgWorker_ProgressChanged(object sender,ProgressChangedEventArgs e) { if(InvokeRequired) { //不会编译 BeginInvoke(delegate(object sender,ProgressChangedEventArg ..
发布时间:2017-04-22 20:04:26 C#/.NET

如何注销“匿名”事件处理程序

说如果我听一个事件: Subject.NewEvent + = delegate(object sender,NewEventArgs e) { // some code }); 现在如何取消注册此活动?或者只是允许内存泄漏? 解决方案 如果您需要取消注册事件,我建议避免匿名代理事件处理程序 这是一种将本地方法分配给本地方法的情况,您可以将该事件彻 ..
发布时间:2017-04-22 19:18:08 C#/.NET

委托关键字与lambda符号

一旦编译,是否有区别: delegate {x = 0; } 和 code>()=> {x = 0} ? 解决方案 简短答案:否。 更长的回答可能不相关: 如果您将lambda分配给委托类型(例如 Func 或 Action )你会得到一个匿名委托。 如果你将lambda分配给一个表达式类型,你会得到一个表达 ..
发布时间:2017-04-22 19:07:34 C#/.NET

有人可以向我解释匿名方法吗?

Delphi 2009,在一些很酷的东西中,也有匿名的方法。我看过的例子,和博客文章有关匿名方法,但我还没有得到他们。有人能解释为什么我应该兴奋吗? 解决方案 只需考虑典型的回调代码, 。通常,此数据仅用于回调(仅),但您必须跳过一些圈才能获得它,而无需退出un-OOP友好实践(如全局变量)。使用匿名方法,数据可以保留在它的位置 - 您不必不必要地扩展其范围或将其复制到一些帮助器对象。只需 ..
发布时间:2016-11-29 22:36:57 其他开发

C# - 闭包 - 澄清

我正在学习C#。我的意思是闭包一个可以采用定义的环境变化的结构。 示例: 列表 gurus = new List() { new Person {id = 1,Name =“Jon Skeet”}, new Person {id = 2,Name = “Marc Gravell”}, new Person {id = 3,Name =“L ..
发布时间:2016-11-29 21:37:30 C#/.NET

匿名侦听器与弱引用是否不兼容?

我在阅读这个问题:避免回拨时出现内存泄漏? 我很困惑,直到有人回答了以下问题: “这个方法的问题是你不能有一个监听器只在集合中引用,因为它会随机消失(在下一个GC上)“ 我通常会传递如下的侦听器: public static void main(String [] args){ final Observable obs = new SomeObservable(); ..
发布时间:2016-11-10 10:43:43 Java开发

更新匿名方法内部ref参数

有没有一种解决方法来更新匿名方法内ref参数? 我知道,匿名方法不允许访问外部的ref参数范围,但有另一种方式来做到这一点?我使用的是外部库的MessageStream所以不能改变委托的参数... 无效的DoWork(REF诠释计数) { MessageStream流=新MessageStream(); Stream.MessageReceived + =(0,参数)=> ..
发布时间:2016-10-04 22:30:32 C#/.NET

为什么out参数不是一个匿名方法允许范围内?

这是没有的从匿名方法调用带有ref或out参数的方法 我想知道的为什么出参数不允许匿名内方法。不允许 REF 参数,使更多的意义,我,但在退出参数,没有那么多。 什么是您对这个 解决方案 在某些方面想法此是一种欺骗。 退出参数 REF 参数。根本就上所使用的C#语言值的额外属性。之所以不允许他们是完全相同的 REF 参数。 这里的问题,使用的效果起源匿名方法中的匿名方法外 ..
发布时间:2016-09-29 12:00:27 C#/.NET

序列化匿名委托列表

这个问题可能是非常相似,我的,但我看不到回答我需要它。我有一个类,名为 CASM ,具有列表与LT;作用> 。我想这个序列化类(使用类似的BinaryFormatter 或东西)。这个类,并在动作取值引用的所有类都得到了正确的 [Serializable接口] 和 [ 。非序列化] 属性 在系列化尝试,问题就来 - 它使这个错误: 键入“CASM.CASM + LT;> c__D ..
发布时间:2016-09-26 12:42:02 C#/.NET

如何lambda表达式内部工作?

虽然答案寻找到这个问题:“的为什么是匿名方法中不允许out参数?”我有一点点失落关于如何lambda表达式和匿名方法的实际工作。 在评论JaredPar指出,“想象一下,例如,该OUT参数所指的堆栈中的局部变量。该拉姆达可以在未来任意点执行,从而可以执行时堆栈帧不再有效” 我指出,如果那不是与任何其他变量的情况下......这基本上让我怀疑什么,我真的了解lambda表达式。 我 ..
发布时间:2016-09-19 13:39:34 C#/.NET

C#:匿名方法VS命名的方法

我是新来的SO和编程和学习天天有位和高科技件(C#)行话。 谷歌搜索了一会儿后,下面是我研究过关于方法 一个方法是块语句,服务于代码重用 &放大器;它也支持不同的签名....超载为前: drawShape(2分),drawShape(3pts)等等... 这是匿名办法是一家具有语句块,但没有 的名字......(作为其过早问,在重量情况下,我们遇到 匿名方法......任 ..
发布时间:2016-09-19 11:19:39 C#/.NET

C#-Closure -Clarification

我学习C#。可我的意思是封闭的,可以采用在定义它的环境的变化的结构。 例如: 列表<&人GT;大师= 新的List<人>() { 新的Person {ID = 1,名称=“乔恩斯基特”}, 新的Person {ID = 2,名称= “马克Gravell”}, 新的Person {ID = 3,名称=“拉塞”} }; 无效FindPersonByID(I ..
发布时间:2016-09-18 12:08:32 C#/.NET

用lambda表达式和匿名方法ThreadPool.QueueUserWorkItem

传递两个参数的线程池一个新的线程,有时是复杂的,但现在看来,与lambda表达式和匿名方法,我可以这样做: 公共类识别TestClass { 公共无效的DoWork(字符串S1,S2线) { Console.WriteLine(S1); Console.WriteLine(S2)​​; } } 试 { 测试的TestClass =新识别TestClass(); 字符 ..
发布时间:2016-09-08 18:44:13 C#/.NET