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