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
Function
birSub
olmalı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 Overrides
gibi 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 Product
Quantity
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 QuantityChanged
bir 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