Otomatik olarak uygulanan özellikler (Visual Basic)
Otomatik olarak uygulanan özellikler, ve Set
özelliğine kod Get
yazmak zorunda kalmadan bir sınıfın özelliğini hızla belirtmenizi sağlar. Otomatik olarak 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 olarak 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 olarak uygulanan bir özellik, özellik değerinin özel alanda depolandığı bir özelliğe eşdeğerdir. Aşağıdaki kod örneği otomatik olarak uygulanan bir özelliği gösterir.
Property Prop2 As String = "Empty"
Aşağıdaki kod örneği, önceki otomatik olarak 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 olarak 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. Yedekleme alanı adı, alt çizgi (_) önünde otomatik olarak uygulanan özellik adıdır. Örneğin, adlı ID
otomatik olarak 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 olarak uygulanan bir özelliği başlatma
Bir alanı başlatmak için kullanılabilecek tüm ifadeler, otomatik olarak uygulanan bir özelliği başlatmak için geçerlidir. Otomatik olarak uygulanan bir özelliği başlatırken, ifade değerlendirilir ve özelliğin yordamına Set
geçirilir. Aşağıdaki kod örnekleri, ilk değerleri içeren otomatik olarak uygulanan bazı ö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 olarak uygulanan bir Interface
özelliği başlatamazsınız.
Otomatik olarak uygulanan bir özelliği öğesinin Structure
üyesi olarak bildirdiğinizde, otomatik olarak uygulanan özelliği yalnızca olarak Shared
işaretlenmişse başlatabilirsiniz.
Otomatik olarak uygulanan bir özelliği bir 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 olarak 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 olarak uygulanan bir özelliği genişletme
Otomatik olarak 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.