.NET Framework是用什么语言编写的?

che*_*r89 41 .net c++ programming-languages

我一直想问的问题,实际上是害怕 - .NET Framework是用什么语言编写的?我指的是图书馆本身.
在我看来,它主要是C和C++.(我希望Jon Skeet正在阅读这篇文章,听到他对此的看法会非常有趣)

Jai*_*han 56

CLI/CLR是用C/C++和汇编语言编写的.几乎所有的.NET框架类都是用C#编写的,编译成IL,它运行在CLR中.如果你在Reflector,class中打开一个框架库,你可能会看到一个属性,如[MethodImpl(MethodImplOptions.InternalCall)],它将调用委托给CLI.

  • 请注意,这仅适用于Microsoft .NET.CLI的其他实现可以以不同方式构建.例如,在Mono中,许多用Microsoft C/C++编写的东西实际上是用Mono中的C#编写的.此外,还有Microsoft Research和其他组织的metacircular实现,它们完全用C#编写. (10认同)
  • 什么是"C/C++"?您这次甚至不能建议您使用"C和C++",否则您将编写"C/C++/assembly". (3认同)

小智 6

.NET完全用C和C++编写,因为基础是汇编语言.与较新的语言相比,程序集与C的集成更加容易.


小智 5

Microsoft .NET Framework 分为许多部分。

公共运行环境:C++

IO/信号处理:组装

基类库:C#

系统线程:C#

复杂数据结构:C++

示例:获取哈希码