Aracılığıyla paylaş


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ı IDotomatik 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 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 MustOverrideolan 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 Sharediş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 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 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.