.NET CLR规范

9

我该在哪里找到CLR规范呢?例如,我想查看“ThreadStart”对象在内存中的实现方式。

谢谢。

3个回答

12
我所知道的最接近的可能是ECMA-335,它是CLI规范。然而,你应该知道ECMA内存模型比.NET弱得多(.NET是微软对CLI的实现)。
我怀疑CLI是否具体提到了ThreadStart,因为它只是另一个委托。您对它有什么特别的兴趣?

我想查看像委托这样的对象在内存中是如何构建的(它的字段、方法等)。 - Thomas
可以使用Reflector查看,但那将是与实现有关的 - 我不希望在规范中找到那些信息。你还应该记住代表具有一种双重性质 - 你可以以多路广播方式查看它们,或者你可以考虑一个“操作”会有什么效果。你可以在Delegate.Method/Target属性和MulticastDelegate.GetInvocationList方法中看到这一点。 - Jon Skeet
CLI规范只驱动C#语言或CLR实现也是如此吗?ECMA规范的CLR是否与ECMA-335不同?假设我必须为不同于Windows的操作系统编写CLR实现,那么我应该遵循哪个ECMA规范? - RBT
1
@RBT:CLI规范更多地涉及CLR而不是C#。CLR没有规范 - 就我所知,CLR是CLI的一种实现(有点令人困惑)。但是,如果您想编写另一个运行时,ECMA 335就是您要使用的内容。 - Jon Skeet

5

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接