Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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
attributelististeğe bağlı. Bu özellik veya
GetSetyordam için geçerli olan özniteliklerin listesi. Bkz. Öznitelik Listesi.Defaultisteğ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ızPrivate. Örnekler ve ayrıntılı yönergeler için bkz . Nasıl yapılır: Visual Basic'te Varsayılan Özellik Bildirme ve Çağırma.accessmodifierdeyiminde
Propertyve deyimlerindenGetSeten fazla birinde isteğe bağlı. Aşağıdakilerden biri olabilir:Bkz. Visual Basic'te erişim düzeyleri.
propertymodifiersisteğe bağlı. Aşağıdakilerden biri olabilir:
MustOverride OverridesNotOverridable Overrides
Sharedisteğe bağlı. Bkz. Paylaşılan.
Shadowsisteğe bağlı. Bkz. Gölgeler.
ReadOnlyisteğe bağlı. Bkz. Salt Okunur.
WriteOnlyisteğe bağlı. Bkz. WriteOnly.
Iteratoristeğe bağlı. Bkz. Yineleyici.
nameGerekli. Özelliğin adı. Bkz. Bildirilen Öğe Adları.
parameterlististeğe bağlı. Bu özelliğin parametrelerini ve yordamın olası ek parametrelerini temsil eden yerel değişken adlarının
Setlistesi. Parametreli özellikler genellikle koleksiyon benzeri erişime izin veren dizin oluşturucular veya varsayılan özellikler oluşturmak için kullanılır. Bkz. Parametre Listesi ve Nasıl yapılır: Visual Basic'te Varsayılan Özellik Bildirme ve Çağırma.returntypeise
Option StrictgereklidirOn. Bu özellik tarafından döndürülen değerin veri türü.Implementsisteğ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.
implementslistSağlanırsa
Implementsgereklidir. Uygulanan özelliklerin listesi.implementedproperty [ , implementedproperty ... ]Her
implementedpropertybirinin söz dizimi ve bölümleri vardır:interface.definednameBölüm Açıklama interfaceGerekli. Bu özelliğin içeren sınıfı veya yapısı tarafından uygulanan arabirimin adı. definednameGerekli. özelliğinin içinde interfacetanımlandığı ad.Getisteğe bağlı. özelliği işaretlenmişse
ReadOnlygereklidir. Özelliğin değerini döndürmek için kullanılan birGetözellik yordamı başlatır. deyimiGetotomatik olarak uygulanan özelliklerle kullanılmaz.statementsisteğe bağlı. veya
Getyordamı içindeSetçalıştırılacak deyim bloğu.End GetÖzellik yordamını
Getsonlandırır.Setisteğe bağlı. özelliği işaretlenmişse
WriteOnlygereklidir. Özelliğin değerini depolamak için kullanılan birSetözellik yordamı başlatır. deyimiSetotomatik olarak uygulanan özelliklerle kullanılmaz.End SetÖzellik yordamını
Setsonlandırır.End PropertyBu ö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 olarak uygulanan bir özelliği kullanırken ve Get yordamını Set atlayabilirsiniz. Daha fazla bilgi için bkz . Otomatik olarak 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. Karma erişim düzeylerinin ayrıntılı örnekleri için bkz . Nasıl yapılır: Karma Erişim Düzeyleri ile Özellik Bildirme.
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
Getyordamı içinSetfarklı 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 bildirilirseFriendyordamınıSetPrivatebildirebilirsiniz, ancak bildiremezsinizPublic.Bir
ReadOnlyveyaWriteOnlyözelliği tanımlıyorsanız, tek özellik yordamı (GetveyaSetsı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,
Propertydö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ürObject.Uygulama. Bu özellik anahtar sözcüğünü
Implementskullanıyorsa, içeren sınıfın veya yapının veyaImplementsdeyimindenClasshemen sonra birStructuredeyimi olmalıdır. deyimindeImplementsimplementslistbelirtilen her arabirimi içermelidir. Ancak, bir arabirimin tanımladığı adınProperty(içindedefinedname) bu özelliğin adıyla (içindename) aynı olması gerekmez.
Davranış
Bir Özellik Yordamından geri dönülmektedir.
GetveyaSetyordamı çağıran koda geri döndüğünde yürütme, onu çağıran deyimini izleyen deyimiyle devam eder.Exit PropertyveReturndeyimleri bir özellik yordamından hemen çıkışa neden olur. Yordamın herhangi bir yerinde herhangi birExit Propertysayıda veReturndeyimi görüntülenebilir ve veExit Propertydeyimlerini karıştırabilirsinizReturn.Dönüş Değeri. Bir
Getyordamdan değer döndürmek için, değeri özellik adına atayabilir veya birReturndeyime ekleyebilirsiniz. Aşağıdaki örnek, dönüş değerini özellik adınaquoteForTheDayatar ve sonra döndürmek için deyiminiExit Propertykullanır.Private quoteValue As String = "No quote assigned yet."ReadOnly Property QuoteForTheDay() As String Get QuoteForTheDay = quoteValue Exit Property End Get End Propertyiçin bir değer
Exit Propertynameatamadan kullanırsanızGet, yordam özelliğin veri türü için varsayılan değeri döndürür.Deyimi
Returnaynı zamanda yordam dönüş değerini atarGetve 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
Parametreli Özellikler
Aşağıdaki örnekte, bir koleksiyona dizi benzeri erişim sağlayan dizin oluşturucu olarak da adlandırılan parametreli bir özelliğin nasıl oluşturulacağı gösterilmektedir:
Class SampleCollection
' Define a local collection to store strings.
Private items As New List(Of String)
' Define a parameterized property (indexer) for the collection.
Default Public Property Item(ByVal index As Integer) As String
Get
' Return the item at the specified index.
If index >= 0 AndAlso index < items.Count Then
Return items(index)
Else
Return Nothing
End If
End Get
Set(ByVal value As String)
' Set the item at the specified index.
If index >= 0 AndAlso index < items.Count Then
items(index) = value
ElseIf index = items.Count Then
' Allow adding new items at the end.
items.Add(value)
End If
End Set
End Property
' Add a Count property for convenience.
Public ReadOnly Property Count As Integer
Get
Return items.Count
End Get
End Property
' Add method to add items.
Public Sub Add(ByVal item As String)
items.Add(item)
End Sub
End Class
Otomatik uygulama, karma erişim düzeyleri ve doğrulama senaryoları gibi özellik kullanımına ilişkin kapsamlı örnekler için bkz. Özellik Yordamları.
Ayrıca bkz.
Özellik Türleri ve Özellikleri
Gelişmiş Özellik Senaryoları
- Nasıl yapılır: Visual Basic'te Varsayılan Özellik Bildirme ve Çağırma
- Nasıl yapılır: Karma Erişim Düzeyleri ile Özellik Bildirme