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 belirtemezsiniz
Static.
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: