相关疑难解决方法(0)

哪里可以了解VS调试器'魔术名'

如果您曾经使用过Reflector,您可能会注意到C#编译器会生成类型,方法,字段和局部变量,这些变量值得调试器"特殊"显示.例如,以"CS $"开头的局部变量不会显示给用户.匿名方法的闭包类型,自动属性的后备字段等还有其他特殊的命名约定.

我的问题:在哪里可以了解这些命名约定?有谁知道一些文件?

我的目标是使PostSharp 2.0使用相同的约定.

c# compiler-construction debugging

107
推荐指数
1
解决办法
9618
查看次数

什么是.NET中的这种类型(反射)

.NET中的这种类型是什么?我正在使用反射来获取所有类的列表,这一个出现了.

它是什么?它从何而来?DisplayClass1的名称是如何选择的?我搜索来源并没有看到任何东西.什么<>意思?什么c__意思?有参考吗?

在此输入图像描述

.net c# reflection

34
推荐指数
2
解决办法
2443
查看次数

在匿名方法中使用MethodInfo.GetCurrentMethod()

public static void Main(string[] args)
{
    Action a = () => Console.WriteLine(MethodInfo.GetCurrentMethod().Name);
    a();
}
Run Code Online (Sandbox Code Playgroud)

这段代码将返回一个不起眼的字符串,如下所示:<Main>b__0.

有没有办法忽略匿名方法并获得更易读的方法名称?

.net c# reflection anonymous-methods

7
推荐指数
2
解决办法
4121
查看次数