Métodos Partial
Actualización: noviembre 2007
Los métodos parciales permiten a los programadores insertar la 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 que crea un generador de código y se suelen usar para notificar que se ha cambiado algo. Permiten al programador especificar el comportamiento personalizado en respuesta al cambio.
El diseñador del generador de código define sólo la firma de método y una o más llamadas al mismo. Después, los programadores pueden proporcionar las implementaciones del método si desean personalizar el comportamiento del código generado. Cuando no se proporciona ninguna implementación, el compilador quita las llamadas al método produciéndose una 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 Sub, no Function.
El cuerpo del método debe quedar vacío.
El modificador de acceso debe ser Private.
Implementación
La implementación está formada principalmente por el rellenado del cuerpo del método parcial. Normalmente, la implementación está en una clase parcial independiente de la definición y la escribe un programador que desea extender el código generado.
Private Sub QuantityChanged()
' Code for executing the desired action.
End Sub
El ejemplo anterior duplica la firma en la declaración exactamente, pero son posibles las variaciones. En particular, se pueden agregar otros modificadores, como Overloads u Overrides. Se permite sólo un modificador Overrides. Para obtener más información sobre modificadores de métodos, vea Instrucción Sub (Visual Basic).
Utilice
Llame a un método parcial como llamaría a cualquier otro procedimiento Sub. Si se ha implementado el método, se evalúan los argumentos y se ejecuta el cuerpo del método. Sin embargo, recuerde que implementar un método parcial es opcional. Si no se implementa el método, una llamada a éste no tiene ningún efecto y no se evalúan las expresiones pasadas como argumentos al método.
Código de
En un archivo denominado Product.Designer.vb, defina una clase Product que tiene una propiedad 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
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
Finalmente, en el método Main de un proyecto, declare una instancia de Product y proporcione un valor inicial para su propiedad Quantity.
Module Module1
Sub Main()
Dim product1 As New Product With {.Quantity = 100}
End Sub
End Module
Debe aparecer un cuadro de mensaje con este mensaje:
Quantity was changed to 100
Vea también
Conceptos
Generación de código en LINQ to SQL
Agregar lógica empresarial utilizando métodos Partial (LINQ to SQL)