CTS (Common Type System)

Самое важное в CLR - типы, предоставляющие функциональность нашим приложениям и другим типам.

CTS - формальная спецификация, которая описывает спсоб определения и поведения типов.

Система общих типов может содержать нуль или более членов, вот некоторые:

  • Поле
  • Метод
  • Свойство
  • Событие
  • ...

CTS также задаёт правила видимости типов и доступа к членам типа, а CLR обеспечивает выполнение правил видимости. Варианты ограничения доступа к членам типа.

  • public - доступ из любого места в коде, а также из других программ и сборок
  • private - видимость ограниена содержащим типом
  • protected - такой член класса доступен из любого места в текущем или производном классе (производные классы могут располагаться в других сборках)
  • internal - класс и член класса доступен из любого места кода в той же сборке, однако не доступен для других программ и сборок
  • protected internal - такой класс или член класса доступен из текущей сборки и из производных классов
  • private protected - такой член класса дсотупен из любого места из текущего или производного класса в той же сборке

! Система общих типов CTS определяет способ объявления, использования ии управления типами в среде CLR , а также явл. важной составляющей частью поддержки межъязыковой интеграции в среде выполнения

О функциях CTS:

  1. Формирование инфраструктуры, которая позволяет беспечивать межъязыковую интеграцию, безопасность типов и высокопроизводительность кода
  2. Предоставление ОО модели, поддерживающую полную реализацию многих ЯП
  3. Опр. правила, которых необходимо придерживаться в зяыке (для взаимод. объектов разных языков)
  4. Предоставление библиотеки, кот. сожержит типы-примитивы (Boolean, Byte, Char, int ...)

Все типы в .NET Framework делятся на ССЫЛОЧНЫЕ и ЗНАЧИМЫЕ

  • Значимые типы - хранятся в стеке, имеют определённый размер
  • Ссылочные типы - хранятся в куче. В стеке хранится ссылка на объекты в этой куче. (Куча - область памяти, в которой размещаются управляемые объекты и работает сборщик мусора)

Типы платформы .NET:

  1. Классы
  2. Структуры
  3. Перечисления
  4. Интерфейсы
  5. Делегаты

Определения типов

  • все определённые в типе атрибуты
  • доступность(видимость) типа
  • имя типа
  • базовый тип данного типа
  • все интерфейсы, реализованные этим типом
  • определение каждого члена типа

Члены типа:

  • Поля
  • Методы
  • свойства
  • Конструкторы
  • События
  • Вложенные типы

Характеристика членов типа:

(abstract, virtual, static, final ... )

results matching ""

    No results matching ""