Aracılığıyla paylaş


Kısmi Yöntemler (Visual Basic)

Kısmi yöntemler geliştiricilerin koda özel mantık eklemesine olanak tanır. Kod genellikle tasarımcı tarafından oluşturulan bir sınıfın parçasıdır. Kısmi yöntemler, bir kod oluşturucu tarafından oluşturulan kısmi bir sınıfta tanımlanır ve genellikle bir şeyin değiştirildiğine ilişkin bildirim sağlamak için kullanılır. Geliştiricinin değişikliğe yanıt olarak özel davranış belirtmesini sağlar.

Kod oluşturucu tasarımcısı yalnızca yöntem imzasını ve yönteme yapılan bir veya daha fazla çağrıyı tanımlar. Geliştiriciler daha sonra, oluşturulan kodun davranışını özelleştirmek istediklerinde yöntemi için uygulamalar sağlayabilir. Hiçbir uygulama sağlanmadığında, yöntemine yapılan çağrılar derleyici tarafından kaldırılır ve ek performans yüküne neden olmaz.

Bildirim

Oluşturulan kod, anahtar sözcüğünü Partial imza satırının başına yerleştirerek kısmi bir yöntemin tanımını işaretler.

Partial Private Sub QuantityChanged()  
End Sub  

Tanım aşağıdaki koşulları karşılamalıdır:

  • yöntemi , değil Functionbir Subolmalıdır.

  • Yöntemin gövdesi boş bırakılmalıdır.

  • Erişim değiştiricisi olmalıdır Private.

Uygulama

Uygulama öncelikli olarak kısmi yöntemin gövdesini doldurmaktan oluşur. Uygulama genellikle tanımdan ayrı bir kısmi sınıftadır ve oluşturulan kodu genişletmek isteyen bir geliştirici tarafından yazılır.

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

Önceki örnek, bildirimdeki imzayı tam olarak yineler, ancak varyasyonlar mümkündür. Özellikle, veya Overridesgibi Overloads başka değiştiriciler eklenebilir. Yalnızca bir Overrides değiştiriciye izin verilir. Yöntem değiştiricileri hakkında daha fazla bilgi için bkz . Alt Deyim.

Kullanma

Diğer Sub yordamları çağıracağınız gibi kısmi bir yöntemi çağırırsınız. Yöntem uygulandıysa, bağımsız değişkenler değerlendirilir ve yöntemin gövdesi yürütülür. Ancak kısmi yöntem uygulamanın isteğe bağlı olduğunu unutmayın. Yöntem uygulanmazsa, buna yapılan çağrının hiçbir etkisi olmaz ve yönteme bağımsız değişken olarak geçirilen ifadeler değerlendirilmez.

Örnek

Product adlı bir dosyada. Tasarım Aracı.vb, özelliği olan bir ProductQuantity sınıf tanımlayın.

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

Product.vb adlı bir dosyada için QuantityChangedbir uygulama sağlayın.

Partial Class Product

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

End Class

Son olarak, bir projenin Main yönteminde bir Product örneği bildirin ve özelliği için Quantity bir başlangıç değeri sağlayın.

Module Module1

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

End Module

Bu iletiyi görüntüleyen bir ileti kutusu görünmelidir:

Quantity was changed to 100

Ayrıca bkz.