Visual Basic'de Erişim Düzeyleri

Bildirilen bir öğenin erişim düzeyi , erişim olanağının kapsamıdır; yani hangi kodun okuma veya yazma iznine sahip olduğudur. Bu yalnızca öğenin kendisini nasıl bildirdiğinize değil, aynı zamanda öğenin kapsayıcısının erişim düzeyine göre de belirlenir. İçeren bir öğeye erişemeyen kod, olarak Publicbildirilenler bile, içerdiği öğelerden hiçbirine erişemez. Örneğin, bir yapıdaki bir Public Private değişkene, yapıyı içeren sınıfın içinden erişilebilir, ancak bu sınıfın dışından erişilemez.

Genel

Bildirim deyimindeki Public anahtar sözcüğü, öğeye aynı projenin herhangi bir yerindeki koddan, projeye başvuran diğer projelerden ve projeden oluşturulan herhangi bir derlemeden erişilebileceğini belirtir. Aşağıdaki kod bir örnek Public bildirimi gösterir:

Public Class ClassForEverybody

Yalnızca modül, arabirim veya ad alanı düzeyinde kullanabilirsiniz Public . Bu, bir ortak öğeyi bir kaynak dosya veya ad alanı düzeyinde ya da bir arabirim, modül, sınıf veya yapı içinde bildirebileceğiniz ancak yordamda bildirilmediği anlamına gelir.

Korumalı

Bildirim deyimindeki Protected anahtar sözcüğü, öğesine yalnızca aynı sınıftan veya bu sınıftan türetilen bir sınıftan erişilebileceğini belirtir. Aşağıdaki kod bir örnek Protected bildirimi gösterir:

Protected Class ClassForMyHeirs

Yalnızca sınıf düzeyinde ve yalnızca bir sınıfın üyesini bildirdiğinizde kullanabilirsiniz Protected . Bu, bir sınıfta korumalı bir öğe bildirebileceğiniz, ancak bir kaynak dosya veya ad alanı düzeyinde ya da bir arabirim, modül, yapı veya yordam içinde bildirebileceğiniz anlamına gelir.

Arkadaş

Bildirim deyimindeki Friend anahtar sözcüğü, öğeye aynı derlemenin içinden erişilebileceğini, ancak derlemenin dışından erişilebileceğini belirtir. Aşağıdaki kod bir örnek Friend bildirimi gösterir:

Friend stringForThisProject As String

Yalnızca modül, arabirim veya ad alanı düzeyinde kullanabilirsiniz Friend . Bu, bir kaynak dosya veya ad alanı düzeyinde veya bir arabirim, modül, sınıf veya yapı içinde bir arkadaş öğesi bildirebileceğiniz, ancak yordamda bildirilmediği anlamına gelir.

Protected Friend

Bildirim deyimindeki Protected Friend anahtar sözcük bileşimi, öğeye türetilmiş sınıflardan veya aynı derleme içinden ya da her ikisinden de erişilebileceğini belirtir. Aşağıdaki kod bir örnek Protected Friend bildirimi gösterir:

Protected Friend stringForProjectAndHeirs As String

Yalnızca sınıf düzeyinde ve yalnızca bir sınıfın üyesini bildirdiğinizde kullanabilirsiniz Protected Friend . Bu, korumalı bir arkadaş öğesini bir sınıfta bildirebileceğiniz, ancak bir kaynak dosya veya ad alanı düzeyinde ya da bir arabirim, modül, yapı veya yordam içinde bildirebileceğiniz anlamına gelir.

Özel

Bildirim deyimindeki Private anahtar sözcüğü, öğeye yalnızca aynı modül, sınıf veya yapı içinden erişilebileceğini belirtir. Aşağıdaki kod bir örnek Private bildirimi gösterir:

Private _numberForMeOnly As Integer

Yalnızca modül düzeyinde kullanabilirsiniz Private . Bu, bir modül, sınıf veya yapı içinde özel bir öğe bildirebileceğiniz, ancak bir kaynak dosya veya ad alanı düzeyinde, arabirim içinde veya yordamda bildirilmediği anlamına gelir.

Modül düzeyinde, Dim herhangi bir erişim düzeyi anahtar sözcüğü olmayan deyimi bir Private bildirime eşdeğerdir. Ancak kodunuzun okunmasını ve yorumlanmasını kolaylaştırmak için anahtar sözcüğünü Private kullanmak isteyebilirsiniz.

Private Protected

Bildirim deyimindeki Private Protected anahtar sözcük bileşimi, öğeye yalnızca aynı sınıfın içinden ve aynı derlemede bulunan türetilmiş sınıflardan erişilebileceğini belirtir. Private Protected Erişim değiştirici, Visual Basic 15.5 ile başlayarak desteklenir.

Aşağıdaki örnekte bir Private Protected bildirim gösterilmektedir:

Private Protected internalValue As Integer

Bir öğeyi yalnızca bir Private Protected sınıfın içinde bildirebilirsiniz. Bunu bir arabirim veya yapı içinde bildiremezsiniz veya bir kaynak dosya veya ad alanı düzeyinde, bir arabirim veya yapı içinde ya da bir yordamda bildiremezsiniz.

Private Protected Erişim değiştirici, Visual Basic 15.5 ve üzeri tarafından desteklenir. Bunu kullanmak için aşağıdaki öğeyi Visual Basic proje (*.vbproj) dosyanıza eklersiniz. Sisteminizde Visual Basic 15.5 veya üzeri yüklü olduğu sürece, Visual Basic derleyicisinin en son sürümü tarafından desteklenen tüm dil özelliklerinden yararlanmanıza olanak tanır:

<PropertyGroup>
   <LangVersion>latest</LangVersion>
</PropertyGroup>

Erişim değiştiricisini Private Protected kullanmak için Visual Basic proje (*.vbproj) dosyanıza aşağıdaki öğeyi eklemeniz gerekir:

<PropertyGroup>
   <LangVersion>15.5</LangVersion>
</PropertyGroup>

Daha fazla bilgi için bkz . Visual Basic dil sürümünü ayarlama.

Erişim Değiştiricileri

Erişim düzeyini belirten anahtar sözcüklere erişim değiştiricileri adı verilir. Aşağıdaki tablo erişim değiştiricilerini karşılaştırır:

Erişim değiştiricisi Erişim düzeyi verildi Bu erişim düzeyiyle bildirebileceğiniz öğeler Bu değiştiriciyi kullanabileceğiniz bildirim bağlamı
Public Sınırsız:

Ortak öğeyi görebilen tüm kodlar bu öğeye erişebilir
Arabirimler

Modül

Sınıflar

Yapılar

Yapı üyeleri

Yordamlar

Properties

Üye değişkenleri

Sabitler

Listelemeler

Ekinlikler

Dış bildirimler

Temsilciler
Kaynak dosya

Ad Alanı

Arabirim

Modül

Sınıf

Yapı
Protected Türetme:

Korumalı bir öğeyi veya ondan türetilmiş bir sınıfı bildiren sınıftaki kod öğesine erişebilir
Arabirimler

Sınıflar

Yapılar

Yordamlar

Properties

Üye değişkenleri

Sabitler

Listelemeler

Ekinlikler

Dış bildirimler

Temsilciler
Sınıf
Friend Derleme:

Derlemede bir arkadaş öğesinin erişebileceğini bildiren kod
Arabirimler

Modül

Sınıflar

Yapılar

Yapı üyeleri

Yordamlar

Properties

Üye değişkenleri

Sabitler

Listelemeler

Ekinlikler

Dış bildirimler

Temsilciler
Kaynak dosya

Ad Alanı

Arabirim

Modül

Sınıf

Yapı
Protected Friend ve FriendbirleşimleriProtected:

Korumalı bir arkadaş öğesiyle aynı sınıftaki veya aynı derlemedeki veya öğenin sınıfından türetilen herhangi bir sınıf içindeki koda erişebilir
Arabirimler

Sınıflar

Yapılar

Yordamlar

Properties

Üye değişkenleri

Sabitler

Listelemeler

Ekinlikler

Dış bildirimler

Temsilciler
Sınıf
Private Bildirim bağlamı:

Kapsanan türler içindeki kod da dahil olmak üzere özel bir öğeyi bildiren türdeki kod, öğesine erişebilir
Arabirimler

Sınıflar

Yapılar

Yapı üyeleri

Yordamlar

Properties

Üye değişkenleri

Sabitler

Listelemeler

Ekinlikler

Dış bildirimler

Temsilciler
Modül

Sınıf

Yapı
Private Protected Özel korumalı öğeyi bildiren sınıftaki kod veya bas sınıfıyla aynı derlemede bulunan türetilmiş bir sınıftaki kod. Arabirimler

Sınıflar

Yapılar

Yordamlar

Properties

Üye değişkenleri

Sabitler

Listelemeler

Ekinlikler

Dış bildirimler

Temsilciler
Sınıf

Ayrıca bkz.