|
Общеязыковая спецификация
СОМ позволяет объектам, созданным на разных языках, взаимодействовать. CLR
обеспечивает интеграцию языков и позволяет объектам, созданным на одном языке,
быть «равноправными гражданами* кода, написанного на другом. Такая интеграция возможна благодаря стандартному набору типов, информации, описывающей
тип (метаданным), и общей среде выполнения CLR.
Интеграция языков — фантастическая цель, если учесть их различия. Так. некоторые языки не позволяют учитывать регистр символов, не допускают целые
числа без знака, перегрузку операторов или не поддерживают методы с переменным числом параметров.
Чтобы создать тип, доступный из других языков, придется задействовать лишь
те возможности языка, которые гарантированно доступны в других. Чтобы помочь
в этом, Microsoft определила общеязыковую спецификацию (Common Language
Specification, CLS), описывающую минимальный набор возможностей, который
должен быть реализован производителями компиляторов, чтобы их продукты
работали в CLR.
CLR/CTS поддерживают гораздо больше возможностей в сравнении с подмножеством, определенным CLS, так что если вас не волнует межъязыковое взанмодействие, вы можете разрабатывать очень мощные типы, ограничиваясь лишь
возможностями языка. В частности, CLS определяет правила, которым должны
соответствовать видимые извне типы, чтобы к ним можно было получить доступ
из любых других CLS-совместимых языков программирования. Заметьте: правила
CLS не применяются к коду, доступному только из сборки, в которой он содержится.
Как видите, CLR/CTS предлагает некоторое множество возможностей. Программист может решить использовать ассемблер IL, и тогда ему будут доступны все
функции CLR/CTS. Большинство других языков, таких как С#, Visual Basic и Fortran,
предоставляют подмножество возможностей CLR/CTS. Минимальный набор функций, которые должны поддерживать все языки, определяется CLS.
Если вы разрабатываете тип и хотите, чтобы он был доступен другим языкам,
не используйте возможности своего языка, выходящие за рамки возможностей,
определяемых CLS. Иначе члены вашего типа могут быть недоступны программистам, пишущим код на других языках
Предыдущая стр.   
Оглавление   
Следующая стр.
Средняя оценка:     (1 - 1 голосов) Для оценки необходимо зарегистрироваться
Только зарегистрировавшиеся пользователи могут оставлять комментарии
|
|