Compartilhar via


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

Subprocedimentos

Parâmetros Opcionais

Code Generation in LINQ to SQL

Adding Business Logic By Using Partial Methods (LINQ to SQL)

Referência

Sub-rotina demonstrativo (Visual Basic)

Partial (Visual Basic)