问题描述
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 (将#修改为@)