ASP.NET语言的互操作性

时间:2021-04-16

  使用IL不仅支持平台无关性,还支持语言的互操作性。简而言之,就是能将任何一种语言编译为中间语言,编译为中间语言的代码可以与从其他语言编译过来的代码进行交互操作。

  那么除了C#之外,还有什么语言可以通过.NET进行交互操作呢?下面就简要讨论其他常见语言如何与.NET交互操作。

  1.Visual Basic 2010

  Visual Basic 6 在升级到Visual Basic 2002时,经历了一番脱胎换骨的变化,才集成到.NET Framework的第1版中。Visual Basic语言对Visual Basic 6进行了很大的演化,也就是说,Visual Basic 6并不合适运行.NET程序。例如,它与COM(Component Object Model,组件对象模型)的高度集成,并且只把事件处理程序作为源代码显示给开发人员,大多数代码隐藏不能用作源代码。另外,它不支持继承的实现,Visual Basic 6使用的表尊数据类型也与.NET不兼容。

  Visual Basic 6 在升级Visual Basic.NET,对Visual Basic进行的改变非常大,完全可以把Visual Basic当作是一种新语言。已有的Visual Basic 6代码不能编译为当前Visual Basic2010代码(或Visual Basic.NET2002、2003、2005和2008代码),把Visual Basic 6 程序转换为Visual Basic2010时,需要对代码进行大量的改动。但大多数修改工作可以由Visual Studio 2010(Visual Studio的升级版本,用于与.NET一起使用)自动完成。如果把Visual Basic 6 项目读到Visual Basic Studio 2010中,Visual Studio 2010 就会自动升级该项目,也就是把Visual Basic 6 源代码重写为Visual Basic 2010源代码。虽然这意味着其中的工作大大减轻,但用户仍需要检查新的Visual Basic 2010 代码,以确保项目仍可按预期方式正确工作,因为这种转换并不能达到完美无缺的程序。

  这种语言升级的一个副作用是不能再把Visual Basic 2010编译为本地可执行代码了。Visual Basic 2010 只编译为中间语言,就像C#一样。如果需要继续使用Visual Basic 6 编写程序,就可以这么做,但生成可执行代码会完全忽略.NET Framework,如果继续Visual Studio作为开发环境,就需要安装Visual Studio 6。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章