百科问答小站 logo
百科问答小站 font logo



为什么.Net托管语言可以实现这些特性? 第1页

  

user avatar   Ivony 网友的相关建议: 
      

简单说下:

1. 为什么.Net类库是可以跨平台的?

因为虚拟机,所以Java也是可以跨平台的。.NET编译后的程序是运行在虚拟机之上的,每个平台把这个虚拟机实现一次就好了。.NET编译后的程序是CIL,是运行在虚拟机上而与平台无关的。

2. 托管语言的反射是怎么实现的?

很简单,因为.NET程序编译的时候把元数据一起编译进去了,也就是类名称、方法签名、字段名等等,所谓反射就是读取这些元数据而已。

3. 为什么CodeDom是什么原理?为什么可以运行时动态编译Assembly?

更简单,因为.NET Framework包含了C#的编译器,虚拟机运行时也支持动态加载Assembly。

4. Visual Studio,SharpDevelop,Xamriam Studio等IDE是怎么实现诸如C#,VB.NET语言的智能感知?

由于程序集包含了元数据,所以智能感知变的更方便了(直接读取元数据,无需头文件),但更重要的是C#和VB.NET这两个语言在设计的时候,就已经考虑了智能感知的问题,C语言发明的时候IDE是啥都没人见过的说。新的语言在这方面当然是有先天优势的。




  

相关话题

  工作经历里有C#是不是程序员一生的污点?加州各大公司除了“我软”招人是不是特别鄙视C#? 
  学 C# 的是不是被绑在 Windows 上? 
  为什么 2010 年前后诞生的语言(如 Golang, Rust, Swift)都是强类型 + 静态? 
  C# 或者 SQL Server 生成的 GUID 有没有可能重复? 
  微软的市值高达2.3万亿美元,相当5个腾讯,8个阿里巴巴。这种巨无霸级的公司,为啥.Net国内这么差? 
  为什么编译器过度优化导致线程安全问题? 
  现有的编程语言当中,哪些和自然语言更接近? 
  VS2015重构封装字段时出现错误,请问有哪些可能的原因呢? 
  什么语言最适合做 GUI? 
  这个代码int函数无返回值且开-O2,for循环会无限循环,是什么原因? 

前一个讨论
如果一座城市的地铁系统足够发达,那么公交有没有可能被地铁完全取代?
下一个讨论
如何看待大张伟用「商演花钱来看我,我肯定要真唱。春晚观众没花钱,我为什么真唱?」来为自己春晚假唱辩解?





© 2025-01-27 - tinynew.org. All Rights Reserved.
© 2025-01-27 - tinynew.org. 保留所有权利