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özniteliklerinSetlistesi. 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 özellikPrivateyordamlarının herhangi biri üzerinde kullanılamaz.accessmodifierdeyiminde
Propertyve en çok ve deyimlerinden biri üzerindeGetSetisteğe bağlıdır. Aşağıdakilerden biri olabilir:Bkz. Visual Basic..
propertymodifiersİsteğe bağlı. Aşağıdakilerden biri olabilir:
MustOverride OverridesNotOverridable Overrides
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ı.
nameGereklidir. Ö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
Setparametreleri. Bkz. Parametre Listesi.returntypeise
Option StrictOngereklidir. 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.
implementslistSağlanırsa
Implementsgereklidir. Uygulanan özelliklerin listesi.implementedproperty [ , implementedproperty ... ]Her
implementedpropertybiri aşağıdaki söz dizimi ve bölümlerine sahip:interface.definednameBölüm Description interfaceGereklidir. Bu özelliğin içeren sınıfı veya yapısı tarafından uygulanan arabirimin adı. definednameGereklidir. özelliğinin içinde tanımlandığı interfacead.Getİsteğe bağlı. Özelliği işaretlenmişse
ReadOnlygereklidir. özelliğininGetdeğ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
GetSetdeyimlerin bloğu.End GetÖzellik
Getyordamını sonlandırılır.Setİsteğe bağlı. Özelliği işaretlenmişse
WriteOnlygereklidir. özelliğininSetdeğerini depolamak için kullanılan bir özellik yordamı başlatır.Setdeyimi, otomatik uygulanan özelliklerle birlikte kullanılmaz.End SetÖzellik
Setyordamını sonlandırılır.End PropertyBu ö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
GetSetbirden 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 iseFriendyordamını bildiresiniz,SetancakPrivatebildiresiniz.PublicBir veya özelliği tanım
ReadOnlyWriteOnlyediyorsanız, tek bir özellik yordamı (GetveyaSetsı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,
Propertydö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
returntypeObjectdöndürür.Uygulama. Bu özellik anahtar sözcüğünü kullanıyorsa, içeren sınıf veya yapının, veya deyiminden
Implementshemen sonra bir deyimi olmasıImplementsClassStructuregerekir. deyimindeImplementsbelirtilen her arabirimi içermesiimplementslistgerekir. Ancak, bir arabiriminProperty(içinde) tanımladığı adındefinednameBu özelliğin adıyla aynı olması gerekmez (içindename).
Davranış
Bir özellik yordamından döndürülüyor. Ya da
GetSetyordamı çağıran koda döndüğünde, yürütme onu çağıran deyimden sonraki deyimle devam eder.Exit PropertyVeReturndeyimleri, bir özellik yordamından anında çıkış oluşmasına neden olur. Herhangi bir sayıdaExit PropertyveReturndeyimi yordamda herhangi bir yerde görünebilir veExit Propertyve deyimlerini karıştırabilirsinizReturn.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 edebilirsinizReturn. Aşağıdaki örnek, dönüş değerini özellik adına atarquoteForTheDayve ardındanExit Propertydö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 PropertyExit Property' A değer atamakla kullanırsanızname,Getyordam özelliğin veri türü için varsayılan değeri döndürür.ReturnAynı anda yer aldığı ifade,Getyordam 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