0

我最近通过我的新工作学到了很多关于 IL 的知识。我有一个问题,虽然我找不到答案。

我看到的所有文档都表明.Net 1.1 不支持匿名方法(用于委托)。然而,在 IL 中,匿名方法似乎是通过使用具有“不可能”名称的常规方法来实现的。

那么匿名方法如何让它们在 .Net 1.1 上不受支持呢?有什么我想念的吗?

4

2 回答 2

4

那么匿名方法如何让它们在 .Net 1.1 上不受支持呢?有什么我想念的吗?

针对 .Net 1.1 的编译器不支持这一点,因此无法在 1.1 版本的框架中创建一个。

当然,自定义语言或编译器可以创建匿名方法的一个版本——但当时什么也没做。

于 2012-08-11T00:19:43.097 回答
2

我认为文档具有误导性。它应该说明的是,早期版本的托管语言(VB、C#、C++/CLI)不支持匿名方法。

正如您所发现的,IL 中没有匿名方法的概念。使它们匿名(通过使用混乱的名称隐藏它们)取决于语言。

于 2012-08-11T00:20:48.323 回答