Property Deyimi

Bir özelliğin adını ve özelliğin değerini depolamak ve almak için kullanılan özellik yordamlarını bildirmektedir.

Syntax

[ <attributelist> ] [ Default ] [ accessmodifier ]
[ propertymodifiers ] [ Shared ] [ Shadows ] [ ReadOnly | WriteOnly ] [ Iterator ]
Property name ( [ parameterlist ] ) [ As returntype ] [ Implements implementslist ]
    [ <attributelist> ] [ accessmodifier ] Get
        [ statements ]
    End Get
    [ <attributelist> ] [ accessmodifier ] Set ( ByVal value As returntype [, parameterlist ] )
        [ statements ]
    End Set
End Property
- or -
[ <attributelist> ] [ Default ] [ accessmodifier ]
[ propertymodifiers ] [ Shared ] [ Shadows ] [ ReadOnly | WriteOnly ]
Property name ( [ parameterlist ] ) [ As returntype ] [ Implements implementslist ]

Bölümler

  • attributelist

    İsteğe bağlı. Bu özellik veya yordam için geçerli olan Get özniteliklerin Set listesi. Bkz. Öznitelik Listesi.

  • Default

    İsteğe bağlı. Bu özelliğin tanımlandığı sınıf veya yapı için varsayılan özellik olduğunu belirtir. Varsayılan özellikler parametreleri kabul etmeli ve özellik adı belirtmeden ayarlandı ve alınamadı. özelliğini olarak bildirersiniz, Default özelliği veya özellik Private yordamlarının herhangi biri üzerinde kullanılamaz.

  • accessmodifier

    deyiminde Property ve en çok ve deyimlerinden biri üzerinde Get Set isteğe bağlıdır. Aşağıdakilerden biri olabilir:

    Bkz. Visual Basic..

  • propertymodifiers

    İsteğe bağlı. Aşağıdakilerden biri olabilir:

  • Shared

    İsteğe bağlı. Bkz. Paylaşılan.

  • Shadows

    İsteğe bağlı. Bkz. Gölgeler.

  • ReadOnly

    İsteğe bağlı. Bkz. Salt Okunur.

  • WriteOnly

    İsteğe bağlı. Bkz. WriteOnly.

  • Iterator

    İsteğe bağlı. Bkz. Tekrarlayıcı.

  • name

    Gereklidir. Özelliğin adı. Bkz. Bildirilen Öğe Adları.

  • parameterlist

    İsteğe bağlı. Bu özelliğin parametrelerini temsil eden yerel değişken adlarının listesi ve yordamın olası ek Set parametreleri. Bkz. Parametre Listesi.

  • returntype

    ise Option Strict On gereklidir. Bu özellik tarafından döndürülen değerin veri türü.

  • Implements

    İsteğe bağlı. Bu özelliğin, her biri bu özelliğin içeren sınıfı veya yapısı tarafından uygulanan bir arabirimde tanımlanan bir veya daha fazla özelliği uygulaydığını gösterir. Bkz. Implements Deyimi.

  • implementslist

    Sağlanırsa Implements gereklidir. Uygulanan özelliklerin listesi.

    implementedproperty [ , implementedproperty ... ]

    Her implementedproperty biri aşağıdaki söz dizimi ve bölümlerine sahip:

    interface.definedname

    Bölüm Description
    interface Gereklidir. Bu özelliğin içeren sınıfı veya yapısı tarafından uygulanan arabirimin adı.
    definedname Gereklidir. özelliğinin içinde tanımlandığı interface ad.
  • Get

    İsteğe bağlı. Özelliği işaretlenmişse ReadOnly gereklidir. özelliğinin Get değerini dönmek için kullanılan bir özellik yordamı başlatır. Getdeyimi, otomatik uygulanan özelliklerle birlikte kullanılmaz.

  • statements

    İsteğe bağlı. veya yordamı içinde çalıştıracak Get Set deyimlerin bloğu.

  • End Get

    Özellik Get yordamını sonlandırılır.

  • Set

    İsteğe bağlı. Özelliği işaretlenmişse WriteOnly gereklidir. özelliğinin Set değerini depolamak için kullanılan bir özellik yordamı başlatır. Setdeyimi, otomatik uygulanan özelliklerle birlikte kullanılmaz.

  • End Set

    Özellik Set yordamını sonlandırılır.

  • End Property

    Bu özelliğin tanımını sonlandırılır.

Açıklamalar

deyimi, Property bir özelliğin bildirimini sağlar. Bir özelliğin bir Get yordamı (salt okunur), bir yordamı (yalnızca yazma) veya her Set ikisi de (okuma-yazma) olabilir. Otomatik uygulanan bir özellik Get Set kullanırken ve yordamını atabilirsiniz. Daha fazla bilgi için bkz. Otomatik Uygulanan Özellikler.

Yalnızca sınıf Property düzeyinde kullanabilirsiniz. Bu, bir özelliğin bildirim bağlamının bir sınıf, yapı, modül veya arabirim olması ve kaynak dosya, ad alanı, yordam veya blok olamaz olması anlamına gelir. Daha fazla bilgi için bkz. Bildirim Bağlamları ve Varsayılan Erişim Düzeyleri.

Varsayılan olarak, özellikler genel erişimi kullanır. Bir özelliğin erişim düzeyini deyimi üzerinde erişim değiştiricisi ile ayarlayabilir ve isteğe bağlı olarak özellik yordamlarından birini daha kısıtlayıcı bir erişim Property düzeyine ayarlayabilirsiniz.

Visual Basic atamaları sırasında Set yordama bir parametre iletir. için bir parametre belirte değil, tümleşik geliştirme ortamı Set (IDE) adlı örtülü bir parametre value kullanır. Bu parametre, özelliğine atanacak değeri tutar. Bu değeri genellikle özel bir yerel değişkende depolar ve yordam çağrıldıklarında Get bunu geri dönersiniz.

Kurallar

  • Karma Erişim Düzeyleri. Okuma/yazma özelliği tanım ediyorsanız, ya da yordamı için isteğe bağlı olarak farklı bir erişim düzeyi belirterek her ikisini Get Set birden belirtemezseniz. Bunu yaparsanız, yordam erişim düzeyi özelliğin erişim düzeyinden daha kısıtlayıcı olması gerekir. Örneğin, özelliği bildirildi ise Friend yordamını bildiresiniz, Set ancak Private bildiresiniz. Public

    Bir veya özelliği tanım ReadOnly WriteOnly ediyorsanız, tek bir özellik yordamı ( Get veya Set sırasıyla), özelliğin hepsini temsil eder. Böyle bir yordam için farklı bir erişim düzeyi bildiresiniz çünkü bu özellik için iki erişim düzeyi ayarlayabilirsiniz.

  • Dönüş Türü. deyimi, Property döndür olduğu değerin veri türünü bildirebilirsiniz. Herhangi bir veri türünü veya bir numaralama, yapı, sınıf veya arabirimin adını belirtebilirsiniz.

    belirtmezseniz özelliği returntype Object döndürür.

  • Uygulama. Bu özellik anahtar sözcüğünü kullanıyorsa, içeren sınıf veya yapının, veya deyiminden Implements hemen sonra bir deyimi olması Implements Class Structure gerekir. deyiminde Implements belirtilen her arabirimi içermesi implementslist gerekir. Ancak, bir arabirimin Property (içinde) tanımladığı adın definedname Bu özelliğin adıyla aynı olması gerekmez (içinde name ).

Davranış

  • Bir özellik yordamından döndürülüyor. Ya da Get Set yordamı çağıran koda döndüğünde, yürütme onu çağıran deyimden sonraki deyimle devam eder.

    Exit PropertyVe Return deyimleri, bir özellik yordamından anında çıkış oluşmasına neden olur. Herhangi bir sayıda Exit Property ve Return deyimi yordamda herhangi bir yerde görünebilir ve Exit Property ve deyimlerini karıştırabilirsiniz Return .

  • Dönüş değeri. Bir yordamdan bir değer döndürmek için Get , değeri özellik adına atayabilir veya bir deyime dahil edebilirsiniz Return . Aşağıdaki örnek, dönüş değerini özellik adına atar quoteForTheDay ve ardından Exit Property döndürmek için ifadesini kullanır.

    Private quoteValue As String = "No quote assigned yet."
    
    ReadOnly Property QuoteForTheDay() As String
        Get
            QuoteForTheDay = quoteValue
            Exit Property
        End Get
    End Property
    

    Exit Property' A değer atamakla kullanırsanız name , Get yordam özelliğin veri türü için varsayılan değeri döndürür.

    ReturnAynı anda yer aldığı ifade, Get yordam dönüş değerini atar ve yordamdan çıkar. Aşağıdaki örnek bunu gösterir.

    Private quoteValue As String = "No quote assigned yet."
    
    ReadOnly Property QuoteForTheDay() As String
        Get
            Return quoteValue
        End Get
    End Property
    

Örnek

Aşağıdaki örnek bir sınıfında bir özelliği bildirir.

Class Class1
    ' Define a local variable to store the property value.
    Private propertyValue As String
    ' Define the property.
    Public Property Prop1() As String
        Get
            ' The Get property procedure is called when the value
            ' of a property is retrieved.
            Return propertyValue
        End Get
        Set(ByVal value As String)
            ' The Set property procedure is called when the value 
            ' of a property is modified.  The value to be assigned
            ' is passed in the argument to Set.
            propertyValue = value
        End Set
    End Property
End Class

Ayrıca bkz.