Otomatik Uygulanan Özellikler (Visual Basic)
Otomatik uygulanan özellikler, ve Set
özelliğine kod Get
yazmak zorunda kalmadan bir sınıfın özelliğini hızla belirtmenizi sağlar. Otomatik uygulanan bir özellik için kod yazdığınızda, Visual Basic derleyicisi ilişkili Get
ve Set
yordamları oluşturmaya ek olarak özellik değişkenini depolamak için otomatik olarak özel bir alan oluşturur.
Otomatik uygulanan özelliklerle, varsayılan değer de dahil olmak üzere bir özellik tek bir satırda bildirilebilir. Aşağıdaki örnekte üç özellik bildirimi gösterilmektedir.
Public Property Name As String
Public Property Owner As String = "DefaultName"
Public Property Items As New List(Of String) From {"M", "T", "W"}
Public Property ID As New Guid()
Otomatik uygulanan özellik, özellik değerinin özel alanda depolandığı bir özelliğe eşdeğerdir. Aşağıdaki kod örneğinde otomatik uygulanan bir özellik gösterilmektedir.
Property Prop2 As String = "Empty"
Aşağıdaki kod örneği, önceki otomatik uygulanan özellik örneği için eşdeğer kodu gösterir.
Private _Prop2 As String = "Empty"
Property Prop2 As String
Get
Return _Prop2
End Get
Set(ByVal value As String)
_Prop2 = value
End Set
End Property
Aşağıdaki kod salt okunur özelliklerin uygulanmasını gösterir:
Class Customer
Public ReadOnly Property Tags As New List(Of String)
Public ReadOnly Property Name As String = ""
Public ReadOnly Property File As String
Sub New(file As String)
Me.File = file
End Sub
End Class
örnekte gösterildiği gibi başlatma ifadeleriyle özelliğine atayabilir veya içeren türün oluşturucusunda özelliklere atayabilirsiniz. Salt okunur özelliklerin yedekleme alanlarına istediğiniz zaman atayabilirsiniz.
Yedekleme Alanı
Otomatik uygulanan bir özelliği bildirdiğinizde, Visual Basic özellik değerini içerecek şekilde otomatik olarak yedekleme alanı olarak adlandırılan gizli bir özel alan oluşturur. Arka alan adı, bir alt çizgi (_) ile önce otomatik olarak uygulanan özellik adıdır. Örneğin, adlı ID
otomatik uygulanan bir özellik bildirirseniz, yedekleme alanı olarak adlandırılır _ID
. Sınıfınızın aynı zamanda adlı _ID
bir üyesini eklerseniz, bir adlandırma çakışması oluşturursunuz ve Visual Basic bir derleyici hatası bildirir.
Yedekleme alanı da aşağıdaki özelliklere sahiptir:
Özelliğin kendisi gibi
Public
farklı bir erişim düzeyine sahip olsa bile, yedekleme alanının erişim değiştiricisi her zamanPrivate
olur.özelliği olarak
Shared
işaretlenirse, yedekleme alanı da paylaşılır.özelliği için belirtilen öznitelikler, yedekleme alanına uygulanmaz.
Yedekleme alanına sınıfı içindeki koddan ve İzleme penceresi gibi hata ayıklama araçlarından erişilebilir. Ancak, yedekleme alanı IntelliSense sözcük tamamlama listesinde gösterilmez.
Otomatik Uygulanan Özelliği Başlatma
Bir alanı başlatmak için kullanılabilecek tüm ifadeler, otomatik uygulanan bir özelliği başlatmak için geçerlidir. Otomatik uygulanan bir özelliği başlatırken, ifade değerlendirilir ve özelliği için yordama Set
geçirilir. Aşağıdaki kod örnekleri, ilk değerleri içeren bazı otomatik uygulanan özellikleri gösterir.
Property FirstName As String = "James"
Property PartNo As Integer = 44302
Property Orders As New List(Of Order)(500)
öğesinin üyesi olan veya işaretli MustOverride
olan otomatik uygulanan bir Interface
özelliği başlatamazsınız.
Otomatik uygulanan bir özelliği öğesinin Structure
üyesi olarak bildirdiğinizde, otomatik uygulanan özelliği yalnızca olarak Shared
işaretlenmişse başlatabilirsiniz.
Otomatik uygulanan bir özelliği dizi olarak bildirdiğinizde, açık dizi sınırları belirtemezsiniz. Ancak, aşağıdaki örneklerde gösterildiği gibi bir dizi başlatıcı kullanarak bir değer sağlayabilirsiniz.
Property Grades As Integer() = {90, 73}
Property Temperatures As Integer() = New Integer() {68, 54, 71}
Standart Söz Dizimi Gerektiren Özellik Tanımları
Otomatik uygulanan özellikler kullanışlıdır ve birçok programlama senaryolarını destekler. Ancak, otomatik olarak uygulanan bir özelliği kullanamayacağınız ve bunun yerine standart veya genişletilmiş özellik söz dizimlerini kullanmanız gereken durumlar vardır.
Aşağıdakilerden birini yapmak istiyorsanız genişletilmiş özellik tanımı söz dizimini kullanmanız gerekir:
Yordamdaki
Get
gelen değerleri doğrulamak için kod gibi bir özelliğin veyaSet
yordamınaSet
kod ekleyin. Örneğin, özellik değerini ayarlamadan önce telefon numarasını temsil eden bir dizenin gerekli sayı sayısını içerdiğini doğrulamak isteyebilirsiniz.ve
Set
yordamı içinGet
farklı erişilebilirlik belirtin. Örneğin, yordamı veGet
yordamınıPublic
Private
yapmakSet
isteyebilirsiniz.olan
WriteOnly
özellikler oluşturun.Parametreli özellikleri (özellikler dahil)
Default
kullanın. Özelliğin parametresini belirtmek veya yordam için ek parametreler belirtmek içinSet
genişletilmiş bir özellik bildirmeniz gerekir.Yedekleme alanına bir öznitelik yerleştirin veya yedekleme alanının erişim düzeyini değiştirin.
Yedekleme alanı için XML açıklamaları sağlayın.
Otomatik Uygulanan Özelliği Genişletme
Otomatik uygulanan bir özelliği veya yordamı içeren Get
genişletilmiş bir özelliğe dönüştürmeniz gerekiyorsa, Visual Basic Code Düzenleyicisi özelliği için ve Set
yordamlarını ve End Property
deyimini otomatik olarak oluşturabilirGet
.Set
İmleci deyiminden sonra Property
boş bir satıra koyarsanız, bir (içinGet
) veya S
(içinSet
) yazıp G
ENTER tuşuna basarsanız kod oluşturulur. Visual Basic Code Düzenleyicisi, bir Property
deyimin Get
sonunda ENTER tuşuna bastığınızda salt okunur ve salt yazma özellikleri için veya Set
yordamını otomatik olarak oluşturur.
Ayrıca bkz.
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