Partial (Visual Basic)
Обновлен: Ноябрь 2007
Указывает, что объявление класса или структуры является частичным определением класса или структуры.
Можно разделить определение класса или структуры среди нескольких объявлений при помощи ключевого слова Partial. Можно использовать столько частичных объявлений, сколько необходимо, в стольких различных исходных файлах, сколько требуется. Однако все объявления должны быть в одной и той же сборке и в том же пространстве имен.
Примечание. |
---|
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 можно использовать в следующих контекстах:
Пример
В следующем примере определение класса 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