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


Partial (Visual Basic)

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

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

ПримечаниеПримечание

Visual Basic поддерживает разделяемые методы, которые обычно реализуются в разделяемых классах.Дополнительные сведения см. в разделах Разделяемые методы (Visual Basic) и Оператор 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

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

accessmodifier

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

Shadows

Необязательный.Дополнительные сведения см. в разделе Shadows (Visual Basic).

MustInherit

Необязательный.Дополнительные сведения см. в разделе MustInherit (Visual Basic).

NotInheritable

Необязательный.Дополнительные сведения см. в разделе NotInheritable (Visual Basic).

name

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

Of

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

typelist

Является обязательным, если используется Of.Дополнительные сведения см. в разделе Список типов (Visual Basic).

Inherits

Необязательный.Дополнительные сведения см. в разделе Инструкция Inherits.

classname

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

Implements

Необязательный.Дополнительные сведения см. в разделе Оператор Implements.

interfacenames

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

variabledeclarations

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

proceduredeclarations

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

End Class или End Structure

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

Заметки

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

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

Рекомендации

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

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

Поведение

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

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

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

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

Оператор Class

Оператор 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

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

См. также

Ссылки

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

Оператор Structure

Shadows (Visual Basic)

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

Повышение типа (Visual Basic)

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

Разделяемые методы (Visual Basic)