Интерфейс C # может быть унаследован на каких языках? - PullRequest
1 голос
/ 30 января 2012

Мы разработали API, который предоставляет серию интерфейсов, написанных на C #.

  • Кроме C #, какие языки могут наследоваться от интерфейса C #?

Мотивация этого вопроса заключается в том, что мы пишем документацию по API и хотели бы указать, какие языки могут использовать интерфейсы, которые мы написали в C #.

Например, могут ли VB.NET или F # наследовать интерфейс, написанный на C #?

РЕДАКТИРОВАТЬ ----
Должен отметить, что с тех пор я обнаружил атрибут CLSCompliant, который заставляет компилятор проверять соответствие спецификации общего языка (CLS) во время компиляции. Это полезный атрибут для общедоступных API для обеспечения соответствия другим языкам .NET.

Ссылка на статью, объясняющую использование атрибута CLSCompliant

1 Ответ

9 голосов
/ 30 января 2012

Если вы придерживаетесь CLS (Common Language Specification), вы можете наследовать эти интерфейсы на всех CLS-совместимых языках.Например, Visual Basic, F # являются CLS-совместимыми и могут наследовать классы и интерфейсы C #.

Пример: вы не можете иметь одинаковые имена, которые отличаются только регистром - например, METHOD (), method (), Method (), mEtHoD () ... они не могут присутствовать вместе в одном интерфейсе.

Некоторые языки программирования могут поддерживать только более старую спецификацию CLS.Например, языки CLS 1.0 не поддерживают универсальные типы.

Более подробную информацию о требованиях CLS можно найти в MSDN.

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...