The question I always wanted to ask and was afraid to, actually - what language is .NET Framework written in? I mean library itself.
It seems to me that it was C and C++ mostly. (I hope Jon Skeet is reading this one, it`ll be very interesting to hear what he thinks about it)
问题:
回答1:
The CLI/CLR is written in C/C++ and assembly. Almost all of the .NET framework classes are written in C# > compiled to IL, which runs in the CLR. If you crack open a framework library in Reflector, class, you may see an attribute such as [MethodImpl(MethodImplOptions.InternalCall)] which delegates the call to the CLI.
回答2:
.NET was fully written in C and C++ because the base was in assembly language. Integration of assembly with C is much easier compared to newer languages.
回答3:
There are parts of the .NET Framework that are open-source, like ASP.NET MVC, and it's written in C#.
Since the .NET Framework represents many assemblies, I'd presume that different libraries are written in different languages. As long as the language is CLR-compliant, it can be used to build parts of the framework.
All said, though; I'd assume the lion's share of the .NET Framework is written in C++ and C#.
回答4:
Microsoft .NET Framework is divided in to many segments.
CLR: C++
IO/Signal Processing: Assembly
Baseclass Library: C#
System.Threading: C#
Complex Data Structure: C++
Example: GetHashCode
回答5:
CLR / Compilers - Visual C++
Baseclass Library - Simple Managed C (SMC)
http://blogs.msdn.com/b/jasonz/archive/2007/11/23/couple-of-historical-facts.aspx