Partial (Visual Basic)

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

Указывает, что объявление класса или структуры является частичным определением класса или структуры.

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

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

Visual Basic 2008 предоставляет partial methods для использования в частичных классах. Дополнительные сведения см. в разделах Разделяемые методы и Оператор Sub (Visual Basic).

[ <attrlist> ] [ accessmodifier ] [ Shadows ] [ MustInherit | NotInheritable ] _
Partial { Class | Structure } name [ (Of typelist) ]
    [ Inherits classname ]
    [ Implements interfacenames ]
    [ variabledeclarations ]
    [ proceduredeclarations ]
{ End Class | End Structure }

Компоненты

  • attrlist
    Необязательно. Список атрибутов, применяемых для данной структуры или класса. Необходимо заключить Список атрибутов в угловые скобки (< >).

  • accessmodifier
    Необязательно. Указывает, что код может получить доступ к этому классу или структуре. См. раздел Уровни доступа в Visual Basic.

  • Shadows
    Необязательно. См. раздел Shadows.

  • MustInherit
    Необязательно. См. раздел MustInherit.

  • NotInheritable
    Необязательно. См. раздел NotInheritable.

  • name
    Обязательно. Имя этого класса или структуры. Должно совпадать с именами, определенными во всех других частичных объявлениях этого класса или структуры.

  • Of
    Необязательно. Указывает, что это универсальный класс или структура. См. Универсальные типы в Visual Basic.

  • typelist
    Является обязательным, если используется Of. См. Список типов.

  • Inherits
    Необязательно. См. Инструкция Inherits.

  • classname
    Является обязательным, если используется Inherits. Имя класса или интерфейса, от которого наследует данный класс.

  • Implements
    Необязательно. См. Оператор Implements.

  • interfacenames
    Является обязательным, если используется Implements. Имена интерфейсов, реализуемых структурой или классом.

  • variabledeclarations
    Необязательно. Операторы, которые объявляют дополнительные переменные и события для класса или структуры.

  • proceduredeclarations
    Необязательно. Операторы, которые объявляют и определяют дополнительные процедуры для класса или структуры.

  • End Class или End Structure
    Завершает это частичное определение Class или Structure.

Заметки

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

Все правила для создания класса или структуры, такие как для использования модификатора и наследования, применяются при создании частичного класса и структуры.

Лучшие методики

  • В обычных условиях не следует разбивать разработку одного класса или структуры на два или более объявлений. Поэтому в большинстве случаев необязательно использование ключевого слова Partial.

  • Для удобочитаемости, каждое частичное объявление класса или структуры должно содержать ключевое слово Partial. Компилятор позволяет не более чем в одном частичном объявлении опустить ключевое слово; если оно пропущено в двух или более, то компилятор генерирует ошибку.

Поведение

  • Объединение объявлений. Компилятор обрабатывает класс или структуру как объединение всех их частичных объявлений. Каждый модификатор из каждого частичного определения применяется ко всему классу или структуре, и каждый член из каждого частичного определения доступен для всего класса или структуры.

  • Повышение типа не допускается для частичных типов в модулях. Если частичное определение внутри модуля, повышение типа, класса или структуры является невозможным. В таком случае набор частичных определений может привести к непредсказуемым результатам и даже ошибкам компилятора. Дополнительные сведения см. в разделе Повышение типа.

    Компилятор выполняет слияние частично выполненных определений только в том случае, если их полные пути одинаковы.

Ключевое слово Partial можно использовать в следующих контекстах:

Оператор класса

Оператор Structure

Пример

В следующем примере определение класса sampleClass разбивается на два объявления, каждое из которых определяет различную процедуру Sub.

Partial Public Class sampleClass
    Public Sub sub1()
    End Sub
End Class
Partial Public Class sampleClass
    Public Sub sub2()
    End Sub
End Class

Два частичных определения в предыдущем примере могут быть в одном исходном файле или в двух различных исходных файлах.

См. также

Задачи

Практическое руководство. Создание частичного метода (Visual Basic)

Основные понятия

Повышение типа

Универсальные типы в Visual Basic

Разделяемые методы

Ссылки

Оператор Class (Visual Basic)

Инструкция Structure

Shadows