Aracılığıyla paylaş


Özellik Yordamları (Visual Basic)

Özellik yordamı, bir modül, sınıf veya yapıdaki özel özelliği işleyen bir dizi Visual Basic deyimidir. Özellik yordamları, özellik erişimcileri olarak da bilinir.

Visual Basic aşağıdaki özellik yordamlarını sağlar:

  • Yordam Get bir özelliğin değerini döndürür. Bir ifadedeki özelliğine eriştiğinizde çağrılır.
  • Set Yordam, nesne başvurusu da dahil olmak üzere bir özelliği bir değere ayarlar. Özelliğine bir değer atadığınızda çağrılır.

Genellikle ve deyimlerini kullanarak Get özellik yordamlarını çiftler halinde tanımlarsınız, ancak özellik salt okunur (Get Deyimi) veya salt yazma (Set Deyimi) ise tek başına yordam tanımlayabilirsiniz.Set

Otomatik olarak uygulanan bir özellik kullanırken ve Set yordamını Get atlayabilirsiniz. Daha fazla bilgi için bkz . Otomatik olarak uygulanan özellikler.

Sınıflarda, yapılarda ve modüllerde özellikleri tanımlayabilirsiniz. Özellikler varsayılan olarak kullanılır Public . Bu, bunları uygulamanızda özelliğin kapsayıcıya erişebilecek herhangi bir yerden çağırabileceğiniz anlamına gelir.

Özelliklerin ve değişkenlerin karşılaştırması için bkz . Visual Basic'te Özellikler ve Değişkenler Arasındaki Farklar.

Bildirim söz dizimi

Özelliğin kendisi, Property Deyimi ve End Property deyiminin içine alınmış bir kod bloğu tarafından tanımlanır. Bu bloğun içinde, her özellik yordamı bir bildirim deyiminin (Get veya Set) ve eşleşen End bildirimin içine alınmış bir iç blok olarak görünür.

Bir özelliği ve yordamlarını bildirme söz dizimi aşağıdaki gibidir:

[Default] [Modifiers] Property PropertyName[(ParameterList)] [As DataType]
    [AccessLevel] Get
        ' Statements of the Get procedure.
        ' The following statement returns an expression as the property's value.
        Return Expression
    End Get
    [AccessLevel] Set[(ByVal NewValue As DataType)]
        ' Statements of the Set procedure.
        ' The following statement assigns newvalue as the property's value.
        LValue = NewValue
    End Set
End Property
' - or -
[Default] [Modifiers] Property PropertyName [(ParameterList)] [As DataType]

Modifiers, aşırı yükleme, geçersiz kılma, paylaşma ve gölgeleme ile ilgili erişim düzeyi ve bilgilerin yanı sıra özelliğin salt okunur mu yoksa salt okunur mu olduğunu belirtebilir. AccessLevel Get veya Set yordamı, özelliğin kendisi için belirtilen erişim düzeyinden daha kısıtlayıcı herhangi bir düzey olabilir. Daha fazla bilgi için bkz . Özellik Deyimi.

Veri Türü

Özelliğin veri türü ve asıl erişim düzeyi, özellik yordamlarında Property değil deyiminde tanımlanır. Bir özelliğin yalnızca bir veri türü olabilir. Örneğin, bir değeri depolamak Decimal ancak bir değer almak için bir Double özellik tanımlayamazsınız.

Erişim Düzeyi

Ancak, bir özellik için bir asıl erişim düzeyi tanımlayabilir ve özellik yordamlarından birinde erişim düzeyini daha fazla kısıtlayabilirsiniz. Örneğin, bir Public özellik tanımlayabilir ve ardından bir Private Set yordam tanımlayabilirsiniz. Yordam Get kalır Public. Bir özelliğin yordamlarından yalnızca birinde erişim düzeyini değiştirebilir ve bunu yalnızca asıl erişim düzeyinden daha kısıtlayıcı yapabilirsiniz. Daha fazla bilgi için bkz . Nasıl yapılır: Karma Erişim Düzeyleri ile Özellik Bildirme.

Parametre bildirimi

Geçiş mekanizmasının olması gerektiği ByValdışında, her parametreyi Alt Yordamlar için yaptığınız gibi bildirirsiniz.

Parametre listesindeki her parametrenin söz dizimi aşağıdaki gibidir:

[Optional] ByVal [ParamArray] parametername As datatype

Parametre isteğe bağlıysa, bildiriminin bir parçası olarak varsayılan bir değer de sağlamanız gerekir. Varsayılan değeri belirtmek için söz dizimi aşağıdaki gibidir:

Optional ByVal parametername As datatype = defaultvalue

Özellik değeri

Bir Get yordamda, dönüş değeri özelliğin değeri olarak çağıran ifadeye sağlanır.

Bir Set yordamda, yeni özellik değeri deyiminin parametresine Set geçirilir. Bir parametreyi açıkça bildirirseniz, bunu özelliğiyle aynı veri türüyle bildirmeniz gerekir. Parametre bildirmezseniz, derleyici özelliğine atanacak yeni değeri temsil etmek için örtük parametresini Value kullanır.

Arama söz dizimi

Özelliğine başvuru yaparak bir özellik yordamını örtük olarak çağırırsınız. Özelliğin adını, değişkenin adını kullandığınız gibi kullanırsınız, ancak isteğe bağlı olmayan tüm bağımsız değişkenler için değerler sağlamanız ve bağımsız değişken listesini parantez içine almanız gerekir. Hiçbir bağımsız değişken sağlanmazsa, isteğe bağlı olarak parantezleri atlayabilirsiniz.

Bir yordama örtük çağrının Set söz dizimi aşağıdaki gibidir:

propertyname[(argumentlist)] = expression

Bir yordama örtük çağrının Get söz dizimi aşağıdaki gibidir:

lvalue = propertyname[(argumentlist)]
Do While (propertyname[(argumentlist)] > expression)

Bildirim ve çağrı çizimi

Aşağıdaki özellik bir tam adı, ad ve soyadı olmak üzere iki kurucu ad olarak depolar. Çağıran kod okuduğundafullNameGet, yordam iki kurucu adı birleştirir ve tam adı döndürür. Çağıran kod yeni bir tam ad atadığında, Set yordam bunu iki kurucu ada bölmeye çalışır. Bir alan bulamazsa, tümünü ad olarak depolar.

Dim firstName, lastName As String
Property fullName() As String
    Get
      If lastName = "" Then
          Return firstName
      Else
          Return firstName & " " & lastName
      End If

    End Get
    Set(ByVal Value As String)
        Dim space As Integer = Value.IndexOf(" ")
        If space < 0 Then
            firstName = Value
            lastName = ""
        Else
            firstName = Value.Substring(0, space)
            lastName = Value.Substring(space + 1)
        End If
    End Set
End Property

Aşağıdaki örnek, özelliği yordamlarına yapılan tipik çağrıları fullNamegösterir:

fullName = "MyFirstName MyLastName"
MsgBox(fullName)

Ayrıca bkz.