КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Распаковка-преобразованиеРаспаковка является явным преобразованием из типа object в тип значения или из типа интерфейса в тип значения, его реализующее. Операция распаковки состоит из следующих действий. 1. Проверка экземпляра объекта на то, что он является упакованным значением заданного типа значения. 2. Копирование значения из экземпляра в переменную типа-значения. В следующих операторах показаны операции по упаковке и распаковке. int i = 123; // a value type object o = i; // boxing int j = (int)o; // unboxing На следующем рисунке представлен результат выполнения предыдущих операторов. Распаковка-преобразование: Для успешной распаковки типов значений во время выполнения необходимо, чтобы экземпляр, который распаковывается, был ссылкой на объект, предварительно созданный с помощью упаковки экземпляра этого типа значения. Попытка распаковать null или ссылку в несовместимый тип значения вызовет InvalidCastException. Вопрос № 8 Ссылочные типы данных. Объектная модель в среде .NET и языке C#. Переменные ссылочных типов, называемые объектами, сохраняют ссылки на фактические данные. Ключевые слова для объявления ссылочных типов: 1. Class 2. Interface 3. Delegate 4. Object 5. string
Class Классы объявляются с помощью ключевого слова class. В отличие от C++, в C# допускается только одиночное наследование. Другими словами, класс может наследовать реализацию только от одного базового класса. Однако класс может реализовать несколько интерфейсов. В приведенной ниже таблице приведены примеры наследования класса и реализации интерфейса.
Во вложенных классах разрешены только следующие уровни доступа: protected и private. Можно объявить универсальные классы, имеющие параметры типа. Класс может содержать объявления следующих членов. Конструкторы Деструкторы Константы Поля Методы Свойства Индексаторы Операторы События Делегаты Классы Интерфейсы Структуры Типы, объявленные в классе без модификатора доступа, по умолчанию являются private.
|