Разделение класса на разделяемые классы в конструкторе классов
Объявление класса или структуры можно распределить по нескольким объявлениям с помощью ключевого слова partial
(Partial
в Visual Basic). Можно использовать неограниченное количество разделяемых объявлений.
Объявления могут находиться в одном или нескольких исходных файлах. Все объявления должны входить в одну сборку и одно пространство имен.
Разделяемые классы могут быть очень полезны. Например, при работе над большим проектом разделение класса на несколько файлов позволяет работать с ним сразу нескольким разработчикам. При работе с кодом, созданным Visual Studio, класс можно изменить без повторного создания исходного файла. (Примеры кода, который создает Visual Studio, включают в себя Windows Forms и код оболочки веб-службы.) Таким образом, можно создать код, использующий автоматически созданные классы, не изменяя созданный файл Visual Studio.
Частичные методы бывают двух типов. С C# и Visual Basic они называются объявлением и реализацией соответственно.
Конструктор классов поддерживает разделяемые классы и методы. Фигура типа в схеме классов относится к расположению отдельного объявления для разделяемого класса. Если разделяемый класс определен сразу в нескольких файлах, можно указать, какое расположение объявления будет использовать конструктор классов, настроив свойство Расположение нового члена в окне Свойства. В результате при двойном щелчке фигуры класса конструктор классов переходит в исходный файл, который содержит объявление класса, заданное свойством Расположение нового члена. При двойном щелчке разделяемого метода в фигуре класса конструктор классов переходит к объявлению разделяемого метода. Свойство Имя файла в окне Свойства также относится к расположению объявления. Для разделяемых классов в свойстве Имя файла перечисляются все файлы, содержащие код объявления и реализации для этого класса. При этом для разделяемых методов свойство Имя файла содержит только файл, содержащий объявление разделяемого метода.
Следующий пример разделяет определение класса Employee
на два объявления, в каждом из которых определяется отдельная процедура. Два частичных определения в предыдущих примерах могут находиться в одном или двух исходных файлах.
Примечание.
Visual Basic использует определения разделяемых классов для отделения автоматически созданного Visual Studio кода от кода, созданного пользователем. Этот код разбивается на отдельные исходные файлы. Например, конструктор форм Windows Forms определяет разделяемые классы для элементов управления, таких как Form
. Не следует изменять код, созданный в этих элементах управления.
Дополнительные сведения о разделяемых типах в Visual Basic см. в статье Partial.
Пример
Чтобы разделить определение класса, используйте ключевое слово partial
(Partial
в Visual Basic), как показано в следующем примере:
// First part of class definition.
public partial class Employee
{
public void CalculateWorkHours()
{
}
}
// Second part of class definition.
public partial class Employee
{
public void CalculateTaxes()
{
}
}