任何.Net语言中使用的.Net库?

时间:2010-12-12 21:33:13

标签: .net libraries boo tao-framework

快速提问,我一直在阅读一些.Net的内容以及一些人的谈话方式暗示我.Net库可以与多种.Net语言一起使用。也许这只是我一厢情愿的想法大声笑。例如,我可以使用Boo .Net语言使用C#编程的Tao Framework吗? 我能解释它的唯一方法是将库编译为字节码以在.Net中运行,并且可以与任何也编译的语言一起使用。我不太了解.Net虽然^ - ^

由于

4 个答案:

答案 0 :(得分:2)

任何适用的(IL代码和清单)都可以在任何.NET语言中使用 - 只要代码符合CIL且符合CLS(无论何种语言编写,它都无关紧要)通用语言规范)。

来自MSDN(CLS):

  

要与其他对象完全交互而不管其实现的语言如何,对象必须仅向调用者公开那些必须与之互操作的所有语言共有的功能。出于这个原因,已经定义了公共语言规范(CLS),它是许多应用程序所需的一组基本语言特性。 CLS规则定义了Common Type System的子集;也就是说,适用于公共类型系统的所有规则都适用于CLS,除非在CLS中定义了更严格的规则。 CLS通过定义开发人员可以依赖的一系列功能来帮助增强和确保语言互操作性,以便提供多种语言版本。 CLS还规定了CLS合规要求;这些可以帮助您确定托管代码是否符合CLS以及给定工具支持使用CLS功能的托管代码开发的程度。

答案 1 :(得分:1)

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

答案 2 :(得分:1)

互操作性存在限制。特别是如果基于不同语言的类型系统显着不同。但是除了语法之外,Boo和C#非常相似,所以这些之间应该没有问题。

答案 3 :(得分:0)

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