Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Os 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 que é criada por um gerador de código, e eles são comumente usados para fornecer 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 podem fornecer implementações para o método se quiserem 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 satisfazer as 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.
Execução
A implementação consiste principalmente no preenchimento do 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 são possíveis variações. Em particular, outros modificadores podem ser adicionados, como Overloads ou Overrides. Só é permitido um Overrides modificador. 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 a implementação de um método parcial é opcional. Se o método não for implementado, uma chamada para 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
Finalmente, no método Main de um projeto, declare uma instância de 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
Deve aparecer uma caixa de mensagem que exibe esta mensagem:
Quantity was changed to 100