什么表达式<> c__DisplayClass9在c#中的含义

时间:2012-07-18 15:27:59

标签: c# decompiling

我使用反编译器来获取C#中某些库的来源。其产生的一个未知(对我来说)构造如下:

Action action = null;
<>c__DisplayClass9 class2;
action = new Action(class2, (IntPtr) this.<OptimizeVisuals>b__6);

<>c__DisplayClass9(IntPtr) this.<OptimizeVisuals>b__6之类的东西,我无法理解。 更重要的是,这个表达式不能用C#编译器编译,所以我需要提出更友好的东西。尝试谷歌这部分,但没有运气。你能给我一些提示吗?它似乎与匿名方法有关,但这是我最好的猜测。

提前致谢。

编辑:也许我最初的问题不是很明确我需要实现的目标。所以重新强调:我需要将提到的代码转换为普通的C#代码,执行与反编译之前相同的操作。我的任务是改变我正在反编译的库中的某些东西,同时保持其他功能(如上面提到的)完好无损。这对我来说非常重要,所以如果有人能帮助我,我真的很感激。

1 个答案:

答案 0 :(得分:5)

编译器为自动实现的属性,匿名方法等生成一些成员。为防止与您自己的名称冲突,编译器使用在C#中非法的名称(但在CLR中仍然合法)。