.NET架构让不同的编程语言如C#,Visual Basic.NET及C++等之间的相互调用成为了可能。在.NET框架下,所有高级语言都会先编译成中间语言(MSIL),这个阶段和Java源代码首先被编译成Java字节码类似;而从中间语言到本地机器码这个过程是在程序运行时完成的,也就是所谓的JIT技术。正是IL的出现,使得.NET具备了平台无关性和语言无关性两大主要特征。
下面演示如何在.NET框架下实现不同语言间的通信。以下三个代码段摘自PROGRAMMING MICROSOFT .NET一书Chapter 2的Dynamic Linking一节。
创建VB源文件simple.vb
创建C#源文件complex.cs
创建C#测试文件demo.cs
首先将两个类文件编译成netmodule模块供测试文件使用,这里将用到VS自带的命令行工具。
vbc /target:module simple.vb