Métodos parciais
Métodos parciais permitem que desenvolvedores insiram lógica personalizada no código.Normalmente, o código é parte de uma classe gerada pelo designer.Métodos parciais são definidos em um classe parcial que é criado por um gerador de código, e são normalmente usados para fornecer uma notificação informando que algo foi alterado.Eles permitem o desenvolvedor especificar o comportamento personalizado na resposta para a alteração.
O designer do gerador de código define apenas a assinatura de método e um ou mais chamadas para o método.Os desenvolvedores podem, então, fornecer implementações para o método se desejarem personalizar o comportamento do código gerado.Quando nenhuma implementação for fornecida, chamadas ao método são removidas pelo compilador, resultando em nenhuma sobrecarga adicional de desempenho.
Declaração
O código gerado marca a definição de um método parcial, colocando a palavra-chave Partial no início da linha de assinatura.
Partial Private Sub QuantityChanged()
End Sub
A definição deve atender a estas condições:
O método deve ser um Sub, não um Function.
O corpo do método deve ser deixado vazio.
O modificador de acesso deve ser Private.
Implementação
A implementação consiste principalmente preencher o corpo do método parcial.A implementação está normalmente em um classe parcial separada da definição e é escrita por um desenvolvedor que deseja estender o código gerado.
Private Sub QuantityChanged()
' Code for executing the desired action.
End Sub
O exemplo anterior duplica a assinatura na declaração exatamente, mas são variações possíveis.Em particular, outros modificadores podem ser adicionados, como Overloads ou Overrides.Somente um modificador Overrides é permitido.Para obter mais informações sobre o método modificadores, consulte Sub-rotina demonstrativo (Visual Basic).
Uso
Você chamar um método parcial como você poderia chamar qualquer outro procedimento Sub.Se o método foi implementado, os argumentos são avaliados e o corpo do método é executado.No entanto, lembre-se de que implementar um método parcial é opcional.Se o método não está implementado, uma chamada para ele não tem efeito, e expressões passados como argumentos para o método não são avaliadas.
Exemplo
Em um arquivo denominado Product.Designer.vb, defina uma classe Product que tenha uma propriedade 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
Em um arquivo denominado Product.vb, forneça uma implementação de QuantityChanged.
Partial Class Product
Private Sub QuantityChanged()
MsgBox("Quantity was changed to " & Me.Quantity)
End Sub
End Class
Finalmente, no método principal de um projeto, declare uma instância Product e forneça um valor inicial para sua propriedade Quantity.
Module Module1
Sub Main()
Dim product1 As New Product With {.Quantity = 100}
End Sub
End Module
Um caixa de mensagem deve aparecer, a qual que exibe esta mensagem:
Quantity was changed to 100
Consulte também
Conceitos
Code Generation in LINQ to SQL
Adding Business Logic By Using Partial Methods (LINQ to SQL)