Compartir a través de


Métodos parciales (Visual Basic)

Los métodos parciales permiten a los desarrolladores insertar lógica personalizada en el código. Normalmente, el código forma parte de una clase generada por el diseñador. Los métodos parciales se definen en una clase parcial creada por un generador de código y normalmente se usan para proporcionar una notificación de que se ha cambiado algo. Permiten al desarrollador especificar el comportamiento personalizado en respuesta al cambio.

El diseñador del generador de código define solo la firma del método y una o varias llamadas al método . A continuación, los desarrolladores pueden proporcionar implementaciones para el método si quieren personalizar el comportamiento del código generado. Cuando no se proporciona ninguna implementación, el compilador quita las llamadas al método , lo que genera ninguna sobrecarga de rendimiento adicional.

Declaración

El código generado marca la definición de un método parcial colocando la palabra clave Partial al principio de la línea de firma.

Partial Private Sub QuantityChanged()  
End Sub  

La definición debe cumplir las condiciones siguientes:

  • El método debe ser un Sub, no un Function.

  • El cuerpo del método debe dejarse vacío.

  • El modificador de acceso debe ser Private.

Implementación

La implementación consiste principalmente en completar el cuerpo del método parcial. La implementación suele estar en una clase parcial independiente de la definición y la escribe un desarrollador que quiere ampliar el código generado.

Private Sub QuantityChanged()  
'    Code for executing the desired action.  
End Sub  

En el ejemplo anterior se duplica la firma de la declaración exactamente, pero se pueden realizar variaciones. En concreto, se pueden agregar otros modificadores, como Overloads o Overrides. Solo se permite un Overrides modificador. Para obtener más información sobre los modificadores de método, vea Sub Statement.

Uso

Se llama a un método parcial como se llamaría a cualquier otro Sub procedimiento. Si se ha implementado el método, se evalúan los argumentos y se ejecuta el cuerpo del método. Sin embargo, recuerde que la implementación de un método parcial es opcional. Si el método no se implementa, una llamada a ella no tiene ningún efecto y las expresiones pasadas como argumentos al método no se evalúan.

Ejemplo

En un archivo denominado Product.Designer.vb, defina una Product clase que tenga una Quantity propiedad .

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

En un archivo denominado Product.vb, proporcione una implementación para QuantityChanged.

Partial Class Product

    Private Sub QuantityChanged()
        MsgBox("Quantity was changed to " & Me.Quantity)
    End Sub

End Class

Por último, en el método Main de un proyecto, declare una Product instancia y proporcione un valor inicial para su Quantity propiedad.

Module Module1

    Sub Main()
        Dim product1 As New Product With {.Quantity = 100}
    End Sub

End Module

Debería aparecer un cuadro de mensaje que muestre este mensaje:

Quantity was changed to 100

Consulte también