2012-01-30 44 views
1

我們設計了一個API,它公開了用C#編寫的一系列接口。C#接口可以繼承哪種語言?

  • 除了C#,哪些語言可以從C#接口繼承?

這個問題背後的動機是我們正在編寫API文檔,並希望說明哪些語言可以利用我們用C#編寫的接口。

例如VB.NET或F#可以繼承用C#編寫的界面嗎?

編輯----
我應該注意到我已經發現了CLSCompliant屬性,它迫使編譯器在編譯時檢查公共語言規範(CLS)的兼容性。這是公共API確保符合其他.NET語言的一個有用屬性。

Link to article explaining the use of the CLSCompliant atribute

回答

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