2

我使用反编译器来获取 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# 代码,做与反编译之前相同的事情。我的任务是更改我正在反编译的库中的某些内容,同时保持其他功能(如提到的功能)不变。这对我来说真的很重要,所以如果有人能帮助我,我会非常感激。

4

1 回答 1

5

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

于 2012-07-18T15:34:21.900 回答