Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Частичные методы позволяют разработчикам вставлять пользовательскую логику в код. Как правило, код является частью созданного конструктором класса. Частичные методы определяются в частичном классе, созданном генератором кода, и они обычно используются для предоставления уведомления о том, что что-то изменилось. Они позволяют разработчику указывать настраиваемое поведение в ответ на изменения.
Конструктор генератора кода определяет только сигнатуру метода и один или несколько вызовов метода. Затем разработчики могут предоставить реализации для метода, если они хотят настроить поведение созданного кода. Если реализация не предоставляется, вызовы метода удаляются компилятором, что не приводит к дополнительным затратам на производительность.
Декларация
Созданный код помечает определение частичного метода путем размещения ключевого слова Partial в начале строки подписи.
Partial Private Sub QuantityChanged()
End Sub
Определение должно соответствовать следующим условиям:
Метод должен быть
Sub, а неFunction.Текст метода должен оставаться пустым.
Модификатор доступа должен быть
Private.
Внедрение
Реализация состоит в основном из заполнения текста частичного метода. Реализация обычно находится в отдельном частичном классе от определения и написана разработчиком, который хочет расширить созданный код.
Private Sub QuantityChanged()
' Code for executing the desired action.
End Sub
Предыдущий пример дублирует подпись в объявлении точно, но возможны варианты. В частности, можно добавить другие модификаторы, например Overloads или Overrides. Допускается только один Overrides модификатор. Дополнительные сведения о модификаторах методов см. в разделе "Sub Statement".
Использование
Вы вызываете частичный метод так же, как любую другую Sub процедуру. Если метод был реализован, вычисляются аргументы и выполняется текст метода. Однако помните, что реализация частичного метода является необязательным. Если метод не реализован, вызов к нему не действует, а выражения, передаваемые в качестве аргументов методу, не оцениваются.
Пример
В файле с именем Product.Designer.vb определите Product класс, имеющий Quantity свойство.
Partial Class Product
Private _Quantity As Integer
Property Quantity() As Integer
Get
Return _Quantity
End Get
Set(ByVal value As Integer)
_Quantity = value
QuantityChanged()
End Set
End Property
' Provide a signature for the partial method.
Partial Private Sub QuantityChanged()
End Sub
End Class
В файле с именем Product.vb укажите реализацию QuantityChanged.
Partial Class Product
Private Sub QuantityChanged()
MsgBox("Quantity was changed to " & Me.Quantity)
End Sub
End Class
Наконец, в основном методе проекта объявите Product экземпляр и задайте начальное значение для его Quantity свойства.
Module Module1
Sub Main()
Dim product1 As New Product With {.Quantity = 100}
End Sub
End Module
Появится окно сообщения, отображающее следующее сообщение:
Quantity was changed to 100