Книга: C# 4.0: полное руководство
Частичные типы
Частичные типы
Начиная с версии 2.0, в C# появилась возможность разделять определение класса, структуры или интерфейса на две или более части с сохранением каждой из них в отдельном файле. Это делается с помощью контекстного ключевого слова partial
. Все эти части объединяются вместе во время компиляции программы.
Если модификатор partial
используется для создания частичного типа, то он принимает следующую общую форму:
partial тип имя_типа {//...
где имя_типа обозначает имя класса, структуры или интерфейса, разделяемого на части. Каждая часть получающегося частичного типа должна указываться вместе с модификатором partial
.
Рассмотрим пример разделения простого класса, содержащего координаты ХУ, на три отдельных файла. Ниже приведено содержимое первого файла.
partial class XY {
public XY(int a, int b) {
X = a;
Y = b;
}
}
Далее следует содержимое второго файла.
partial class XY {
public int X { get; set; }
}
И наконец, содержимое третьего файла.
partial class XY {
public int Y { get; set; }
}
В приведенном ниже файле исходного текста программы демонстрируется применение класса XY.
// Продемонстрировать определения частичного класса.
using System;
class Test {
static void Main() {
XY xy = new XY(1, 2);
Console.WriteLine(xy.X + "," + xy.Y);
}
}
Для того чтобы воспользоваться классом XY, необходимо включить в компиляцию все его файлы. Так, если файлы класса XY называются xy1.cs, ху2.cs и хуЗ.cs, а класс Test содержится в файле test.cs, то для его компиляции достаточно ввести в командной строке следующее.
csc test.cs xyl.cs xy2.cs xy3.cs
И последнее замечание: в C# допускаются частичные обобщенные классы. Но параметры типа в объявлении каждого такого класса должны совпадать с теми, что указываются в остальных его частях.
- Небезопасный код
- Обнуляемые типы
- Основы применения обнуляемых типов
- Применение обнуляемых объектов в выражениях
- Оператор ??
- Обнуляемые объекты, операторы отношения и логические операторы
- Частичные типы
- Частичные методы
- Создание объектов динамического типа
- Возможность взаимодействия с моделью СОМ
- Дружественные сборки
- Разные ключевые слова
- Обнуляемые типы
- ГЛАВА 20 Небезопасный код, указатели, обнуляемые типы и разные ключевые слова
- Частичные методы
- Типы данных для работы с датой и временем
- Большие целые типы
- Типы страниц и их использование
- 1.2.3. Константы, переменные и типы
- 4. Лекция: Типы данных
- 9.1. Классы и прототипы
- 4. Кортежи. Типы кортежей
- 5. Отношения. Типы отношений
- 1. Базовые типы данных