我一直想问的问题,实际上是害怕 - .NET Framework是用什么语言编写的?我的意思是库本身。
在我看来,它主要是C和C ++。 (我希望Jon Skeet正在读这篇文章,听到他的想法会非常有趣)
答案 0 :(得分:55)
CLI / CLR是用C / C ++和汇编语言编写的。几乎所有的.NET框架类都是用C#编写的。编译为IL,在CLR中运行。如果你在Reflector,class中打开一个框架库,你可能会看到一个属性,如[MethodImpl(MethodImplOptions.InternalCall)],它将调用委托给CLI。
答案 1 :(得分:6)
.NET完全用C和C ++编写,因为基础是汇编语言。与较新的语言相比,程序集与C的集成更容易。
答案 2 :(得分:3)
.NET Framework的某些部分是开源的,如ASP.NET MVC,它是用C#编写的。
由于.NET Framework代表了许多程序集,我认为不同的库是用不同的语言编写的。只要该语言符合CLR,就可以用它来构建框架的一部分。
但是,所有人都说过;我假设.NET Framework的大部分内容都是用C ++和C#编写的。答案 3 :(得分:3)
Microsoft .NET Framework分为多个部分。
CLR :C ++
IO /信号处理:程序集
基类库:C#
System.Threading :C#
复杂数据结构:C ++
示例:GetHashCode
答案 4 :(得分:0)
CLR /编译器 - Visual C ++
基类库 - 简单管理C(SMC)
http://blogs.msdn.com/b/jasonz/archive/2007/11/23/couple-of-historical-facts.aspx