Практическое руководство. Создание разделяемого метода (Visual Basic)
Частичные методы дают разработчикам возможность вставить пользовательскую логику в сгенерированный конструктором код, чаще всего, для проверки данных. Существуют два этапа создания частичного метода: определение сигнатуры метода и написание реализации. Как правило, определение пишется разработчиком генератора кода, а реализация — разработчиком, пользующимся сгенерированным кодом. Дополнительные сведения см. в разделе Разделяемые методы (Visual Basic).
Для определения сигнатуры метода выполните следующие действия:
В частичном классе начните сигнатуру с помощью ключевого слова Partial.
Используйте ключевое слово Private в качестве модификатора доступа.
Добавьте ключевое слово Sub. Метод должен быть подпрограммой.
Напишите имя метода.
Обеспечьте список параметров для метода.
Завершите метод ключевым словом End Sub.
Для реализации метода выполните следующие действия:
Используйте ключевое слово Private в качестве модификатора доступа.
Добавьте любые другие необходимые модификаторы.
Напишите имя метода, которое должно соответствовать имени в определении сигнатуры.
Добавьте список параметров. Имена параметров должны совпадать с именами в сигнатуре. Типы данных параметров могут быть пропущены.
Определите тело метода.
Завершите метод с помощью оператора End Sub.
Пример
Определение и реализация частичного метода находятся обычно в отдельных файлах, которые создаются при помощи частичного класса. Как правило, частичный метод предназначен для предоставления уведомлений о каких-либо изменениях в проекте.
В следующем примере создается и вызывается частичный метод, названный OnNameChanged. Сигнатура метода определяется в частичном классе Customer в файле Customer.Designer.vb. Реализация выполняется в частичном классе Customer в файле Customer.vb, а экземпляр класса Customer создается в проекте, использующем этот класс.
Результатом является окно, содержащее следующее сообщение:
Name was changed to: Blue Yonder Airlines.
' File Customer.Designer.vb provides a partial class definition for
' Customer, which includes the signature for partial method
' OnNameChanged.
Partial Class Customer
Private _Name As String
Property Name() As String
Get
Return _Name
End Get
Set(ByVal value As String)
_Name = value
OnNameChanged()
End Set
End Property
' Definition of the partial method signature.
Partial Private Sub OnNameChanged()
End Sub
End Class
' In a separate file, a developer who wants to use the partial class
' and partial method fills in an implementation for OnNameChanged.
Partial Class Customer
' Implementation of the partial method.
Private Sub OnNameChanged()
MsgBox("Name was changed to " & Me.Name)
End Sub
End Class
Module Module1
Sub Main()
' Creation of cust will invoke the partial method.
Dim cust As New Customer With {.Name = "Blue Yonder Airlines"}
End Sub
End Module