Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 unFunction
.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