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

Roslyn:获取编译器为匿名类型生成的名称

如何解决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 举报,一经查实,本站将立刻删除。