如何解决Roslyn:获取编译器为匿名类型生成的名称
using System;
public class Class {
public static void Main() {
Func<bool> f = () => true;
}
}
编译器会为lambda表达式生成一个匿名类和函数。例如,SharpLab.io显示:
public class Class
{
[Serializable]
[CompilerGenerated]
private sealed class <>c
{
public static readonly <>c <>9 = new <>c();
public static Func<bool> <>9__0_0;
internal bool <Main>b__0_0()
{
return true;
}
}
public static void Main()
{
Func<bool> func = <>c.<>9__0_0 ?? (<>c.<>9__0_0 = new Func<bool>(<>c.<>9.<Main>b__0_0));
}
}
如何使用Roslyn将lambda函数的LambdaExpressionSyntax
与生成的<>c.<Main>b__0_0
函数名称相关联?
我知道这些生成的名称是不稳定的,因此没有记录。不过,我还是要查询它们。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。