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 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
Staticbirlikte belirtemezsinizReadOnly.Değer Atama. Bir özelliği kullanan kod
ReadOnlydeğ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
ReadOnlybir 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 ReadOnlyolsa bile üyeleri değiştirilebilir. Aşağıdaki örnekte bu gösterilmektedir.
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 ChangeArrayElementyapı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 Publicve 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: