C#接口可以继承哪种语言?

时间:2012-01-30 00:17:42

标签: c# api inheritance interface

我们设计了一个API,它公开了一系列用C#编写的接口。

  • 除了C#,哪些语言可以从C#接口继承?

这个问题背后的动机是我们正在编写API文档,并希望说明哪些语言可以利用我们用C#编写的接口。

例如,VB.NET或F#可以继承用C#编写的接口吗?

编辑----
我应该注意到,我已经发现了CLSCompliant属性,该属性强制编译器在编译时检查公共语言规范(CLS)的合规性。这是公共API的一个有用属性,可确保符合其他.NET语言。

Link to article explaining the use of the CLSCompliant atribute

1 个答案:

答案 0 :(得分:9)

如果您坚持使用CLS(公共语言规范),则可以在所有符合CLS的语言中继承该接口。例如,Visual Basic,F#符合CLS,可以继承C#类和接口。

一个例子:你不能有相同的名字,只是因情况而异 - 例如METHOD(),method(),Method(),mEtHoD()......这些不能在一个接口中一起出现。

某些编程语言可能仅支持较旧的CLS规范。例如,CLS 1.0语言不支持泛型类型。

您可以在MSDN中找到有关CLS要求的更多信息。

http://msdn.microsoft.com/en-us/library/12a7a7h3.aspx

http://msdn.microsoft.com/en-us/library/a2c7tshk.aspx