ReadOnly (Visual Basic)
Bir değişkenin veya özelliğin okunup yazılamayacağını belirtir.
Açıklamalar
Kurallar
Bildirim bağlamı.
ReadOnlyYalnızca modül düzeyinde kullanabilirsiniz. Diğer bir deyişle, bir öğe için bildirim bağlamıReadOnlybir sınıf, yapı veya modül olmalıdır ve kaynak dosya, ad alanı veya yordam olamaz.Birleşik değiştiriciler.
ReadOnlyAynı bildirimde ile birlikte belirtemezsinizStatic.Değer atama. Bir özelliği kullanan kod
ReadOnly, değerini ayarlayamadı. Ancak, temel alınan depolamaya erişimi olan kod herhangi bir zamanda değeri atayabilir veya değiştirebilir.Bir
ReadOnlydeğişkene yalnızca bildiriminde veya tanımlandığı bir sınıf veya yapının oluşturucusunda bir değer atayabilirsiniz.
Salt okunur değişken ne zaman kullanılır?
Sabit bir değer bildirmek ve atamak için const bildirimini kullanamadığınız durumlar vardır. Örneğin, Const deyimi atamak istediğiniz veri türünü kabul etmeyebilir veya bir sabit ifadeyle derleme zamanında değeri hesaplamayabilir. Derleme zamanında değeri bile bilmiyor olabilirsiniz. Bu durumlarda, ReadOnly sabit bir değeri tutmak için bir değişken kullanabilirsiniz.
Önemli
Değişkenin veri türü bir dizi veya sınıf örneği gibi bir başvuru türü ise, bu değişkenin kendisi olsa bile üyeleri değiştirilebilir ReadOnly . 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, tarafından işaret edilen dizi characterArray() "x", "y" ve "z" barındırır. Değişken olduğundan characterArray ReadOnly , değeri başlatıldıktan sonra değiştiremezsiniz; diğer bir deyişle, buna yeni bir dizi atayamazsınız. Ancak, bir veya daha fazla dizi üyesinin değerlerini değiştirebilirsiniz. Yordama yapılan bir çağrıdan ChangeArrayElement sonra, işaret eden dizi characterArray() "x", "e" ve "z" barındırır.
Bunun, yordamın, çağıran bağımsız değişkenin kendisini değiştirmesini engelleyen bir yordam parametresi olarak bildirilmesinin benzer olduğuna, ancak onun üyelerini değiştirmesine izin verdiğinden emin olun.
Örnek
Aşağıdaki örnek, bir ReadOnly çalışanın işe alındığı tarih için bir özelliği tanımlar. Sınıfı, özellik değerini dahili olarak bir değişken olarak depolar Private ve yalnızca sınıfın içindeki kod bu değeri değiştirebilir. Ancak, özelliği olur Public ve sınıfa erişebilen tüm kodlar özelliği 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
ReadOnlyDeğiştirici şu bağlamlarda kullanılabilir: