ReadOnly (Visual Basic)
Bir değişkenin veya özelliğin okunabileceğini ancak yazılamadığını belirtir.
Açıklamalar
Kurallar
Bildirim Bağlamı. Yalnızca modül düzeyinde kullanabilirsiniz
ReadOnly
. Bu, birReadOnly
öğenin bildirim bağlamının bir sınıf, yapı veya modül olması gerektiği ve kaynak dosya, ad alanı veya yordam olamayacağı anlamına gelir.Birleşik Değiştiriciler. Aynı bildirimde ile
Static
birlikte belirtemezsinizReadOnly
.Değer Atama. Bir özelliği kullanan kod
ReadOnly
değerini ayarlayamaz. Ancak, temel alınan depolamaya erişimi olan kod, istediğiniz zaman değeri atayabilir veya değiştirebilir.Bir değişkene
ReadOnly
bir değeri yalnızca bildiriminde veya tanımlandığı bir sınıfın veya yapının oluşturucusunda atayabilirsiniz.
ReadOnly Değişkeni Ne Zaman Kullanılır?
Sabit bir değer bildirmek ve atamak için Const Deyimini kullanamayacağınız durumlar vardır. Örneğin, Const
deyimi atamak istediğiniz veri türünü kabul etmeyebilir veya derleme zamanında değeri sabit bir ifadeyle hesaplayamayabilirsiniz. Derleme zamanında değeri bile bilmiyor olabilirsiniz. Bu gibi durumlarda, sabit bir ReadOnly
değeri tutmak için bir değişken kullanabilirsiniz.
Önemli
Değişkenin veri türü dizi veya sınıf örneği gibi bir başvuru türüyse, değişkenin kendisi ReadOnly
olsa bile üyeleri değiştirilebilir. Aşağıdaki örnek bunu göstermektedir.
ReadOnly characterArray() As Char = {"x"c, "y"c, "z"c}
Sub ChangeArrayElement()
characterArray(1) = "M"c
End Sub
Başlatıldığında, dizi "x", "y" ve "z"yi barındırarak characterArray()
işaret etti. değişkeni characterArray
olduğundan ReadOnly
, başlatıldıktan sonra değerini değiştiremezsiniz; başka bir ifadeyle, değişkenine yeni bir dizi atayamazsınız. Ancak, dizi üyelerinden birinin veya daha fazlasının değerlerini değiştirebilirsiniz. yordamına ChangeArrayElement
yapılan çağrının ardından, dizinin işaret ettiği characterArray()
"x", "M" ve "z" değerlerine sahiptir.
Bunun, yordamın çağıran bağımsız değişkenin kendisini değiştirmesini engelleyen ancak üyelerini değiştirmesine izin veren bir yordam parametresini ByVal olarak bildirmeye benzer olduğunu unutmayın.
Örnek
Aşağıdaki örnek, bir ReadOnly
çalışanın işe alındığı tarih için bir özellik tanımlar. sınıfı özellik değerini dahili olarak bir Private
değişken olarak depolar ve yalnızca sınıfın içindeki kod bu değeri değiştirebilir. Ancak özelliğidir Public
ve sınıfına erişebilen tüm kodlar özelliğini okuyabilir.
Class employee
' Only code inside class employee can change the value of hireDateValue.
Private hireDateValue As Date
' Any code that can access class employee can read property dateHired.
Public ReadOnly Property dateHired() As Date
Get
Return hireDateValue
End Get
End Property
End Class
Değiştirici ReadOnly
şu bağlamlarda kullanılabilir:
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin