Nasıl yapılır: Visual Basic'de Varsayılan Bir Özelliği Bildirme ve Çağırma
Varsayılan özellik, kodunuzu belirtmeden erişebileceğiniz bir sınıf veya yapı özelliğidir. Kod adları bir sınıf veya yapı çağırıldığında ancak bir özelliğe erişilmediğinde ve bağlam bir özelliğe erişime izin verdiğinde, Visual Basic varsa bu sınıfın veya yapının varsayılan özelliğine erişimi çözümler.
Bir sınıf veya yapı en fazla bir varsayılan özelliğe sahip olabilir. Ancak, varsayılan bir özelliği aşırı yükleyip birden fazla sürümüne sahip olabilirsiniz.
Daha fazla bilgi için bkz . Varsayılan.
Varsayılan özelliği bildirmek için
Özelliğini normal şekilde bildirin. veya
Private
anahtar sözcüğünüShared
belirtmeyin.Anahtar sözcüğünü
Default
özellik bildirimine ekleyin.Özelliği için en az bir parametre belirtin. En az bir bağımsız değişken almayan varsayılan bir özellik tanımlayamazsınız.
Default Property myProperty(ByVal index As Integer) As String
Varsayılan özelliği çağırmak için
Içeren sınıfın veya yapı türünün değişkenini bildirin.
Dim x As New class1(3)
Normalde özellik adını dahil edeceğiniz bir ifadede değişken adını tek başına kullanın.
MsgBox(x)
Değişken adını parantez içinde bir bağımsız değişken listesiyle izleyin. Varsayılan özellik en az bir bağımsız değişken almalıdır.
MsgBox(x(1))
Varsayılan özellik değerini almak için değişken adını bağımsız değişken listesiyle birlikte bir ifadede veya atama deyimindeki eşittir (
=
) oturumunu izleyerek kullanın.MsgBox(x(1) & x(2) & x(3))
Varsayılan özellik değerini ayarlamak için, atama deyiminin sol tarafındaki bağımsız değişken listesiyle değişken adını kullanın.
x(1) = "Hello" x(2) = " " x(3) = "World"
Diğer herhangi bir özelliğe erişmek için yaptığınız gibi, varsayılan özellik adını değişken adıyla birlikte her zaman belirtebilirsiniz.
x.myProperty(1) = "Hello" x.myProperty(2) = " " x.myProperty(3) = "World"
Örnek 1
Aşağıdaki örnek, bir sınıfta varsayılan bir özellik bildirir.
Public Class class1
Private myStrings() As String
Sub New(ByVal size As Integer)
ReDim myStrings(size)
End Sub
Default Property myProperty(ByVal index As Integer) As String
Get
' The Get property procedure is called when the value
' of the property is retrieved.
Return myStrings(index)
End Get
Set(ByVal Value As String)
' The Set property procedure is called when the value
' of the property is modified.
' The value to be assigned is passed in the argument
' to Set.
myStrings(index) = Value
End Set
End Property
End Class
Örnek 2
Aşağıdaki örnek, sınıfında class1
varsayılan özelliğin myProperty
nasıl çağrılduğunu gösterir. Üç atama deyimi değerleri içinde myProperty
depolar ve MsgBox çağrı değerleri okur.
Sub Test()
Dim x As New class1(3)
x(1) = "Hello"
x(2) = " "
x(3) = "World"
MsgBox(x(1) & x(2) & x(3))
End Sub
Varsayılan özelliğin en yaygın kullanımı, çeşitli koleksiyon sınıflarında özelliğidir Item[] .
Güçlü Programlama
Varsayılan özellikler kaynak kod karakterlerinde küçük bir azalmaya neden olabilir, ancak kodunuzun okunmasını zorlaştırabilir. Çağıran kod sınıfınız veya yapınız hakkında bilgi sahibi değilse, sınıf veya yapı adına başvuru yaptığında, başvurunun sınıfa veya yapıya mı yoksa varsayılan bir özelliğe mi eriştiğinden emin olamaz. Bu, derleyici hatalarına veya küçük çalışma zamanı mantığı hatalarına yol açabilir.
Derleyici türü denetimini On
olarak ayarlamak için her zaman Option Strict Deyimini kullanarak varsayılan özellik hataları olasılığını bir ölçüde azaltabilirsiniz.
Kodunuzda önceden tanımlanmış bir sınıf veya yapı kullanmayı planlıyorsanız, varsayılan bir özelliğe sahip olup olmadığını ve varsa adının ne olduğunu belirlemeniz gerekir.
Bu dezavantajlar nedeniyle varsayılan özellikleri tanımlamamayı göz önünde bulundurmanız gerekir. Kod okunabilirliği için, varsayılan özellikler bile olsa her zaman tüm özelliklere açıkça başvurmayı da göz önünde bulundurmanız gerekir.
Ayrıca bkz.
- Özellik Yordamları
- Yordam Parametreleri ve Bağımsız Değişkenleri
- Property Deyimi
- Varsayılan
- Visual Basic'te Özellikler ve Değişkenler Arasındaki Farklar
- Nasıl yapılır: Özellik Oluşturma
- Nasıl yapılır: Bir Özelliği Karışık Erişim Düzeyleriyle Bildirme
- Nasıl yapılır: Bir Özellik Yordamı Çağırma
- Nasıl yapılır: Bir Özelliğe Değer Ekleme
- Nasıl yapılır: Bir Özellikten Değer Alma
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin