1

快速的问题,我一直在阅读一些 .Net 的东西,而有些人的谈话方式对我来说意味着 .Net 库可以与多种 .Net 语言一起使用。也许这只是我的一厢情愿,哈哈。例如,我可以使用用 C# 编写的 Tao 框架和 Boo .Net 语言吗?
我可以解释的唯一方法是,如果库被编译为字节码以在 .Net 中运行,并且可以与任何也可以编译的语言一起使用。虽然我对.Net不太了解^-^

谢谢

4

4 回答 4

2

任何程序集(IL 代码和清单)都可以在任何 .NET 语言中使用——不管它是用什么语言编写的,只要代码符合 CIL 并符合CLS(通用语言规范)。

来自MSDN (CLS):

为了与其他对象完全交互而不管它们是用什么语言实现的,对象必须只向调用者公开那些它们必须与之交互的所有语言共有的特性。因此,定义了公共语言规范 (CLS),它是许多应用程序所需的一组基本语言特性。CLS 规则定义了通用类型系统的一个子集;也就是说,所有适用于通用类型系统的规则都适用于 CLS,除非 CLS 中定义了更严格的规则。CLS 通过定义一组开发人员可以依赖以提供多种语言的功能来帮助增强和确保语言互操作性。CLS 还制定了 CLS 合规性要求;

于 2010-12-12T21:38:37.927 回答
1

如果我正确理解了您的问题,那么您可以在 C# 或 Delphi Prism 中创建一个 .NET 库,将其编译为 IL 并获得一个程序集。然后你可以在你的 VB.NET 项目中引用和使用这个程序集。

于 2010-12-12T21:36:35.067 回答
1

互操作性存在限制。特别是如果不同语言的类型系统存在显着差异。但是除了语法之外,Boo 和 C# 非常相似,因此它们之间应该没有问题。

于 2010-12-12T21:51:05.340 回答
0

我们在 VB.Net 项目中使用 C# 帮助程序库没有问题 - 单个项目只能处理一种语言,但解决方案可以包含多个项目,每个项目都使用自己的语言(或引用任何用任何语言编写的可编译为 MSIL 的程序集)完整的 VS 调试功能

于 2010-12-12T21:40:39.650 回答