微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我没有使用闭包,但它不会编译为静态方法

如何解决我没有使用闭包,但它不会编译为静态方法

Why do some C# lambda expressions compile to static methods?

即使我没有使用闭包,它也不会像上面那样编译。

我目前使用 .NET 5.0,我尝试更改目标框架。但它不起作用。

为什么 target 不引用 null?

我目前正在编写与 linq 表达式相关的代码,我需要一个用静态方法编译的匿名方法

帮帮我。

Action action = () => { };
action.Method.Isstatic.PrintLine(); // False
action.Target.ToString().PrintLine(); // TestConsole.Prgoram+<>c
action.Target.GetHashCode().PrintLine(); // 58225482
action.Method.ToString().PrintLine(); // Void <Main>b__1_0()

Func<int,int,int> addFunc = (int a,int b) => a + b;
addFunc.Method.Isstatic.PrintLine(); // False
addFunc.Target.ToString().PrintLine(); // TestConsole.Prgoram+<>c
addFunc.Target.GetHashCode().PrintLine(); // 58225482
addFunc.Method.ToString().PrintLine(); // Int32 <Main>b__1_1(Int32,Int32)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。