lambda相关内容

检索在 Func 中执行的调用方法的名称

我想获取被委派为 Func 的方法的名称. Func函数 = x =>x.DoSomeMethod();字符串名称 = ExtractMethodName(func);//应该等于“DoSomeMethod" 我怎样才能做到这一点? -- 吹牛-- 使 ExtractMethodName 也适用于属性调用,让它返回该实例中的属性名称. 例如. Func函数 = x =>x. ..
发布时间:2022-01-18 12:29:46 C#/.NET

表达式树和调用委托

所以我有一个 delegate 指向一些我在第一次创建 delegate 对象时实际上并不知道的函数.该对象稍后会设置为某个函数. 然后我还想创建一个表达式树,它使用参数调用委托(为了这个问题,参数可以是 5).这是我正在努力解决的问题;下面的代码显示了我想要的,但它没有编译. Func;函数=空;表达式 expr = Expression.Invoke(func, Expression. ..
发布时间:2022-01-18 12:24:27 C#/.NET

Func 有什么了不起的地方<>代表?

对不起,如果这是基本的,但我正在尝试使用 .Net 3.5. 问题:Func 有 5 个重载吗?从外观上看,我仍然可以自己创建一个类似的委托,例如 MyFunc,具有确切的 5 个重载甚至更多. 例如:public delegate TResult MyFunc() 和各种重载的组合... 这个想法是在我试图理解 Func 委托时产生的,并遇到了以下场景: FuncmyDele ..
发布时间:2022-01-18 12:18:59 其他开发

Visual C++ 2010 中作为 CLR (.NET) 委托/事件处理程序的 Lambda 表达式

是否可以将 Visual C++ 2010 中的新 lambda 表达式用作 CLR 事件处理程序?我试过以下代码: SomeEvent += gcnew EventHandler([](对象^发送者,EventArgs^e){//这里的代码}); 它会导致以下错误消息: 错误 C3364:“System::EventHandler":委托构造函数的参数无效;委托目标需要是指向成员函数的 ..
发布时间:2022-01-18 12:16:38 C#/.NET

无法将 lambda 表达式转换为类型“对象",因为它不是委托类型

我有一个基类,它的 bool 属性如下所示: 公共抽象类 MyBaseClass{公共布尔进行中{获取;受保护的集合;}} 我正在从它继承另一个类并尝试将 InProgress 作为代表添加到字典中.但它给我一个错误.这就是我的派生类的样子: 公共抽象类 MyClass{字典dict = 新字典();dict.Add("InProgress", InProgr ..
发布时间:2022-01-18 12:16:22 C#/.NET

如何将代表存储在列表中

如何将委托(命名、匿名、lambda)存储在通用列表中?基本上我正在尝试构建一个委托字典,从中我可以使用一个键访问存储的委托并执行它并按需返回值.可以在 C# 4 中做吗?有什么想法来完成它吗?注意:在我可以存储任何类型的代表的地方,最好使用异构列表. 解决方案 难道System.Collections.Generic.Dictionary 不够用吗? ..
发布时间:2022-01-18 12:15:42 C#/.NET

如何从 lambda 表达式中获取引用实例的实例

我有这个 lambda 表达式 Expression>commandToExecute 然后我用一个方法传递一个类的实例: _commandExecuter.ProcessCommand (() => aClass.Method()) 如何在 ProcessCommand 方法中获取 aClass 的实例? 我想执行这个类的一些附加方法或获取一些属性值. ..
发布时间:2022-01-18 12:14:45 C#/.NET

我可以使用 lambda 语法忽略委托参数吗?

我很好奇为什么 C# 允许我在某些情况下忽略委托参数,而在其他情况下却不行. 例如这是允许的: 动作动作 = 委托 { Console.WriteLine("delegate");}; 但这不是: 动作动作 = () =>Console.WriteLine("lambda"); 有没有办法使用 lambda 初始化委托并忽略参数?我知道我可以在 lambda 中添加一个参数并修复前一 ..
发布时间:2022-01-18 12:11:00 C#/.NET

由 C# 中的 lambda 创建的委托的生命周期是多少?

Lambda 很好,因为它们提供 简洁性和局部性 和 另一种封装形式.不必编写仅在一次可以使用 lambda 时使用的函数. 虽然想知道它们是如何工作的,但我直觉地认为它们可能只创建一次.这启发了我创建一个解决方案,允许 限制通过使用 lambda 作为创建它的范围的标识符,将类成员的范围超出私有到一个特定范围. 这个实现工作,虽然可能有点矫枉过正(仍在研究它),证明我的假设是正确的. ..
发布时间:2022-01-18 12:10:36 C#/.NET

创建属性设置器委托

我已经创建了将属性 lambda 转换为委托的方法: public static Delegate MakeGetter(表达式>propertyLambda){var 结果 = Expression.Lambda(propertyLambda.Body).Compile();返回结果;}public static Delegate MakeSetter(Expres ..
发布时间:2022-01-18 11:59:33 C#/.NET

lambda 表达式的意义何在?

看完这篇文章,我不知道为什么曾经使用过 lambda 表达式.公平地说,我认为我对什么是委托和表达式树类型没有正确的理解,但我不明白为什么有人会使用 lambda 表达式而不是声明的函数.有人能启发我吗? 解决方案 第一:简洁性和局部性: 您更愿意编写、阅读和维护哪个?这个: var 地址 = customers.Select(customer=>customer.Address ..
发布时间:2022-01-18 11:58:29 C#/.NET

委托关键字与 lambda 表示法

一经编译,有没有区别: 委托{ x = 0;} 和 () =>{ x = 0 } ? 解决方案 简答:没有. 可能不相关的较长答案: 如果将 lambda 分配给委托类型(例如 Func 或 Action),您将获得匿名委托. 如果将 lambda 分配给 Expression 类型,您将获得表达式树而不是匿名委托.然后可以将表达式树编译为匿名委托. 编辑:这是 ..
发布时间:2022-01-18 11:50:41 C#/.NET

为什么要使用表达式<Func<T>>而不是 Func T ?

我了解 lambda 以及 Func 和 Action 委托.但是表达式难倒我. 在什么情况下你会使用 Expression> 而不是普通的旧 Func? 解决方案 当您想将 lambda 表达式视为表达式树并查看它们内部而不是执行它们时.例如,LINQ to SQL 获取表达式并将其转换为等效的 SQL 语句并将其提交给服务器(而不是执行 lambda). ..
发布时间:2022-01-18 11:49:26 C#/.NET

声纳:用方法引用替换这个 lambda

此代码示例 Collection值 = 变换(getValuatedObjects(),输入->getValueProvider().apply(input).getValue()); 违反 sonarqube 规则: 尽可能用方法引用替换 lambdas 这是声纳错误吗?或者我真的可以使用方法参考吗? 解决方案 不能替换 lambda input ->getValuePr ..
发布时间:2022-01-17 21:16:23 Java开发

lambda 与列表理解性能

我最近发布了一个使用 lambda 函数的问题,在回复中有人提到 lambda 已不再受欢迎,而是使用列表推导.我对 Python 比较陌生.我做了一个简单的测试: 导入时间S=[x 在范围内的 x (1000000)]T=[y**2 for y in range(300)]##time1 = time.time()N=[x for x in S for y in T if x==y]time2 ..
发布时间:2022-01-17 18:38:07 Python

“这个"由 lambda 捕获是不正确的.GCC编译器错误?

在过去的几天里,我一直在调试一个涉及 C++ 中 lambda 的奇怪问题.我已将问题归结为以下症状: this 指针在 lambda 中损坏(注意:this 总是被副本捕获,因此 lambda 应该有自己的 this 指针,指向 App 对象) 只有在 std::cout 打印语句存在时才会发生,并且在创建 lambda 之前调用.print 语句可能看起来完全不相关(例如 print ..
发布时间:2022-01-17 14:04:16 C/C++开发

'await' 运算符只能在异步 lambda 表达式中使用

我有一个 c# Windows Store 应用程序.当单击另一个 MessageDialog 内的命令按钮之一时,我正在尝试启动 MessageDialog.这样做的目的是警告用户他们的内容未保存,如果他们单击取消,它将提示他们使用单独的保存对话框进行保存. 这是我的“showCloseDialog"函数: 私有异步任务 showCloseDialog(){如果(b_editedSinc ..
发布时间:2022-01-17 10:09:10 C#/.NET

Java“可能尚未初始化空白的最终字段"匿名接口与 Lambda 表达式

我最近遇到了错误消息“空白的最终字段 obj 可能尚未初始化". 如果您尝试引用可能尚未分配值的字段,通常会出现这种情况.示例类: 公共类 Foo {私有最终对象 obj;公共 Foo() {obj.toString();//错误 (1)obj = 新对象();obj.toString();//很好 (2)}} 我使用 Eclipse.在 (1) 行我得到错误,在 (2) 行一切正常.到目前 ..
发布时间:2022-01-17 08:26:16 Java开发