Книга: 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# допускаются частичные обобщенные классы. Но параметры типа в объявлении каждого такого класса должны совпадать с теми, что указываются в остальных его частях.

Оглавление книги


Генерация: 0.913. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз