Aracılığıyla paylaş


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ı IDotomatik olarak uygulanan bir özellik bildirirseniz, yedekleme alanı olarak adlandırılır _ID. Sınıfınızın aynı zamanda adlı _IDbir ü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 Publicfarklı bir erişim düzeyine sahip olsa bile, yedekleme alanının erişim değiştiricisi her zaman Privateolur.

  • özelliği olarak Sharediş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 MustOverrideolan 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 Sharediş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 veya Set yordamına Set 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çin Get farklı erişilebilirlik belirtin. Örneğin, yordamı ve Get yordamını PublicPrivate yapmak Set 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çin Set 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.

Ayrıca bkz.