Property Deyimi

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

Sözdizimi

[ <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 ]

Parça

  • attributelist

    isteğe bağlı. Bu özellik veya GetSet yordam için geçerli olan özniteliklerin listesi. Bkz. Öznitelik Listesi.

  • Default

    isteğe bağlı. Bu özelliğin, üzerinde tanımlandığı sınıf veya yapı için varsayılan özellik olduğunu belirtir. Varsayılan özellikler parametreleri kabul etmelidir ve özellik adı belirtilmeden ayarlanıp alınabilir. özelliğini olarak Defaultbildirirseniz, özelliğinde veya özellik yordamlarından birinde kullanamazsınız Private .

  • accessmodifier

    deyiminde Property ve deyimlerinden GetSet en fazla birinde isteğe bağlı. Aşağıdakilerden biri olabilir:

    Bkz. Visual Basic'te erişim düzeyleri.

  • propertymodifiers

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

  • Shared

    isteğe bağlı. Bkz. Paylaşılan.

  • Shadows

    isteğe bağlı. Bkz. Gölgeler.

  • ReadOnly

    isteğe bağlı. Bkz. Salt Okunur.

  • WriteOnly

    isteğe bağlı. Bkz. WriteOnly.

  • Iterator

    isteğe bağlı. Bkz. Yineleyici.

  • name

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

  • parameterlist

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

  • returntype

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

  • Implements

    isteğ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 özellik uyguladığını gösterir. Bkz . Implements Deyimi.

  • implementslist

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

    implementedproperty [ , implementedproperty ... ]

    Her implementedproperty birinin söz dizimi ve bölümleri vardır:

    interface.definedname

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

    isteğe bağlı. özelliği işaretlenmişse ReadOnlygereklidir. Özelliğin değerini döndürmek için kullanılan bir Get özellik yordamı başlatır. deyimi Get otomatik olarak uygulanan özelliklerle kullanılmaz.

  • statements

    isteğe bağlı. veya Set yordamı içinde Get çalıştırılacak deyim bloğu.

  • End Get

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

  • Set

    isteğe bağlı. özelliği işaretlenmişse WriteOnlygereklidir. Özelliğin değerini depolamak için kullanılan bir Set özellik yordamı başlatır. deyimi Set otomatik olarak uygulanan özelliklerle kullanılmaz.

  • End Set

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

  • End Property

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

Açıklamalar

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

Yalnızca sınıf düzeyinde kullanabilirsiniz Property . Bu, bir özelliğin bildirim bağlamının bir sınıf, yapı, modül veya arabirim olması gerektiği ve kaynak dosya, ad alanı, yordam veya blok olamayacağı 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. Deyimindeki bir erişim değiştirici ile bir özelliğin Property erişim düzeyini ayarlayabilir ve isteğe bağlı olarak özellik yordamlarından birini daha kısıtlayıcı bir erişim düzeyine ayarlayabilirsiniz.

Visual Basic, özellik atamaları sırasında yordama Set bir parametre geçirir. için Setbir parametre sağlamazsanız, tümleşik geliştirme ortamı (IDE) adlı valueörtük bir parametre 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ığında Get döndürürsiniz.

Kurallar

  • Karma Erişim Düzeyleri. Okuma-yazma özelliği tanımlıyorsanız, isteğe bağlı olarak veya Set yordamı için Get farklı bir erişim düzeyi belirtebilirsiniz, ancak her ikisini birden belirtemezsiniz. Bunu yaparsanız, yordam erişim düzeyi özelliğin erişim düzeyinden daha kısıtlayıcı olmalıdır. Örneğin, özelliği bildirilirse Friendyordamını PrivateSet bildirebilirsiniz, ancak bildiremezsinizPublic.

    Bir ReadOnly veya WriteOnly özelliği tanımlıyorsanız, tek özellik yordamı (Get veya Setsırasıyla) özelliğin tümünü temsil eder. Bu özellik için iki erişim düzeyi ayarlayacağından, böyle bir yordam için farklı bir erişim düzeyi bildiremezsiniz.

  • Dönüş Türü. deyimi, Property döndürdüğü değerin veri türünü bildirebilir. Herhangi bir veri türünü veya numaralandırma, yapı, sınıf veya arabirimin adını belirtebilirsiniz.

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

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

Davranış

  • Bir Özellik Yordamından geri dönülmektedir. Get veya Set yordamı çağıran koda geri döndüğünde yürütme, onu çağıran deyimini izleyen deyimiyle devam eder.

    Exit Property ve Return deyimleri bir özellik yordamından hemen çıkışa neden olur. Yordamın herhangi bir yerinde herhangi bir Exit Property sayıda ve Return deyimi görüntülenebilir ve ve Return deyimlerini karıştırabilirsinizExit Property.

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

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

    için bir değer nameGet atamadan kullanırsanızExit Property, yordam özelliğin veri türü için varsayılan değeri döndürür.

    Deyimi Return aynı zamanda yordam dönüş değerini atar Get ve yordamdan çıkar. Aşağıdaki örnekte bu gösterilmektedir.

    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ıfta bir özellik 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.