Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Métodos parciais permitem que os desenvolvedores insiram lógica personalizada no código. Normalmente, o código faz parte de uma classe gerada pelo designer. Métodos parciais são definidos em uma classe parcial criada por um gerador de código e geralmente são usados para fornecer uma notificação de que algo foi alterado. Eles permitem que o desenvolvedor especifique o comportamento personalizado em resposta à alteração.
O designer do gerador de código define apenas a assinatura do método e uma ou mais chamadas para o método. Os desenvolvedores poderão fornecer implementações para o método se desejarem personalizar o comportamento do código gerado. Quando nenhuma implementação é fornecida, as chamadas para o método são removidas pelo compilador, resultando em nenhuma sobrecarga de desempenho adicional.
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 às seguintes condições:
O método deve ser um
Sub, não umFunction.O corpo do método deve ser deixado vazio.
O modificador de acesso deve ser
Private.
Implementação
A implementação consiste principalmente em preencher o corpo do método parcial. A implementação normalmente está em uma 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 exatamente a assinatura na declaração, mas variações são possíveis. Em particular, outros modificadores podem ser adicionados, como Overloads ou Overrides. Somente um Overrides modificador é permitido. Para obter mais informações sobre modificadores de método, consulte Sub Statement.
Utilização
Você chama um método parcial como chamaria qualquer outro Sub procedimento. Se o método tiver sido implementado, os argumentos serão avaliados e o corpo do método será executado. No entanto, lembre-se de que implementar um método parcial é opcional. Se o método não for implementado, uma chamada a ele não terá efeito e as expressões passadas como argumentos para o método não serão avaliadas.
Exemplo
Em um arquivo chamado Product.Designer.vb, defina uma Product classe que tenha uma Quantity propriedade.
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 chamado Product.vb, forneça uma implementação para QuantityChanged.
Partial Class Product
Private Sub QuantityChanged()
MsgBox("Quantity was changed to " & Me.Quantity)
End Sub
End Class
Por fim, no método Main de um projeto, declare uma instância Product e forneça um valor inicial para a sua propriedade Quantity.
Module Module1
Sub Main()
Dim product1 As New Product With {.Quantity = 100}
End Sub
End Module
Uma caixa de mensagem deve ser exibida que exibe esta mensagem:
Quantity was changed to 100