Поделиться через


Практическое руководство. Разделение класса в разделяемые классы

Обновлен: Ноябрь 2007

Объявление класса или структуры можно разделить между несколькими объявлениями, используя в Visual Basic ключевое слово Partial или в Visual C# — partial. Можно использовать столько разделяемых объявлений, сколько необходимо, и в стольких различных исходных файлах, в скольких требуется, или объявить все в одном исходном файле. Однако все объявления должны находиться в одной и той же сборке и в одном и в том же пространстве имен.

Разделяемые классы полезны в нескольких случаях. Например, если разработчик работает над большим проектом, то разделение класса в более чем один файл позволит работать над ним одновременно нескольким разработчикам. При работе с кодом, создаваемым Visual Studio, можно изменить класс без повторного создания исходного файла. (Примеры кода, который создает Visual Studio, включают код программы-оболочки Windows Forms и Web Service.) Можно создать код, который использует автоматически создаваемые классы без изменения файлов, создаваемых Visual Studio.

Существует два вида разделяемых методов. В Visual C# и в Visual Basic они называются "объявление" и "реализация".

Конструктор классов поддерживает разделяемые классы и методы. Фигура типа в схеме классов относится к одному расположению объявления для разделяемого класса. Если разделяемый класс определен в нескольких файлах, то можно указать, какое расположение объявления конструктора класса будет использоваться настройками свойства Расположение нового члена в окне Свойства. Т. е. при двойном щелчке мыши на фигуре класса конструктор классов перейдет к файлу исходного кода, содержащему объявление класса, указанное в свойстве Расположение нового члена. При двойном щелчке мыши на разделяемом методе в фигуре класса конструктор классов перейдет к объявлению разделяемого метода. Также к расположению объявления относится свойство Имя файла в окне Свойства. Для разделяемых классов Имя файла перечисляет все файлы, содержащие объявление и реализацию кода для этого класса. Однако для разделяемых методов Имя файла перечисляет только файл, содержащий объявление разделяемых методов.

В следующих примерах определение класса Employee разбивается на два объявления, каждое из которых определяет различную процедуру. Два разделяемых определения в примерах могут находиться в одном исходном файле или в двух различных исходных файлах.

Bb514141.alert_note(ru-ru,VS.90).gifПримечание.

Visual Basic использует определения разделяемого класса, чтобы отделить код, созданный Visual Studio, от кода, созданного пользователем. Код находится в отдельных исходных файлах. Например, Конструктор форм Windows Forms определяет разделяемые классы для элементов управления, например Form. Не следует изменять автоматически созданный код в этих элементах управления.

Дополнительные сведения о разделяемых типах в Visual Basic см. в разделе Partial (Visual Basic).

Пример

Чтобы разделить определение класса в Visual Basic, используйте ключевое слово Partial, как показано в следующем примере:

' First part of class definition.
Partial Public Class Employee
    Public Sub CalculateWorkHours()
    End Sub
End Class

' Second part of class definition.
Partial Public Class Employee
    Public Sub CalculateTaxes()
    End Sub
End Class

Чтобы разделить определение класса в Visual C#, используйте ключевое слово partial, как показано в следующем примере:

// First part of class definition.
public partial class Employee
{
    public void CalculateWorkHours()
    {
    }
}

// Second part of class definition.
public partial class Employee
{
    public void CalculateTaxes()
    {
    }
}

См. также

Ссылки

Разделяемые классы и методы (Руководство по программированию в C#)

разделяемый (тип) (Справочник по C#)

разделяемый (метод)

Partial (Visual Basic)