Udostępnij za pośrednictwem


Porady: kontrolowanie dostępności zmiennej (Visual Basic)

Dostępność zmiennej można kontrolować, określając jej poziom dostępu. Poziom dostępu określa, jaki kod ma uprawnienia do odczytu lub zapisu w zmiennej.

  • Zmienne składowe (zdefiniowane na poziomie modułu i poza dowolną procedurą) są domyślne dla dostępu publicznego, co oznacza, że każdy kod, który może je zobaczyć, może uzyskać do nich dostęp. Można to zmienić, określając modyfikator dostępu.

  • Zmienne lokalne (zdefiniowane wewnątrz procedury) mają nominalny dostęp publiczny, chociaż tylko kod w ramach procedury może uzyskać do nich dostęp. Nie można zmienić poziomu dostępu zmiennej lokalnej, ale można zmienić poziom dostępu procedury, która ją zawiera.

Aby uzyskać więcej informacji, zobacz Poziomy dostępu w Visual Basic.

Dostęp prywatny i publiczny

Aby udostępnić zmienną tylko z poziomu modułu, klasy lub struktury

  1. Umieść instrukcję Dim dla zmiennej wewnątrz modułu, klasy lub struktury, ale poza dowolną procedurą.

  2. Dołącz słowo kluczowe Private w instrukcji Dim .

    Możesz odczytywać lub zapisywać w zmiennej z dowolnego miejsca w module, klasie lub strukturze, ale nie poza nią.

Aby udostępnić zmienną z dowolnego kodu, który może go zobaczyć

  1. W przypadku zmiennej składowej umieść instrukcję Dim dla zmiennej wewnątrz modułu, klasy lub struktury, ale poza dowolną procedurą.

  2. Dołącz słowo kluczowe Public w instrukcji Dim .

    Możesz odczytywać lub zapisywać w zmiennej z dowolnego kodu, który współdziała z zestawem.

— lub —

  1. W przypadku zmiennej lokalnej umieść instrukcję Dim dla zmiennej wewnątrz procedury.

  2. Nie dołączaj słowa kluczowego Public do instrukcji Dim .

    Możesz odczytywać lub zapisywać w zmiennej z dowolnego miejsca w ramach procedury, ale nie spoza niej.

Chroniony i przyjazny dostęp

Można ograniczyć poziom dostępu zmiennej do jej klasy i dowolnych klas pochodnych lub do jej zestawu. Można również określić związek tych ograniczeń, który zezwala na dostęp z kodu w dowolnej klasie pochodnej lub w dowolnym innym miejscu w tym samym zestawie. Ten związek należy określić, łącząc Protected słowa kluczowe i Friend w tej samej deklaracji.

Aby udostępnić zmienną tylko z poziomu klasy i wszystkich klas pochodnych

  1. Umieść instrukcję Dim dla zmiennej wewnątrz klasy, ale poza dowolną procedurą.

  2. Dołącz słowo kluczowe Chronione w instrukcji Dim .

    Można odczytywać lub zapisywać w zmiennej z dowolnego miejsca w klasie, a także z dowolnej klasy pochodzącej z niej, ale nie z zewnątrz żadnej klasy w łańcuchu wyprowadzania.

Aby udostępnić zmienną tylko z poziomu tego samego zestawu

  1. Umieść instrukcję Dim dla zmiennej wewnątrz modułu, klasy lub struktury, ale poza dowolną procedurą.

  2. Dołącz słowo kluczowe Friend w instrukcji Dim .

    Możesz odczytywać lub zapisywać w zmiennej z dowolnego miejsca w module, klasie lub strukturze, a także z dowolnego kodu w tym samym zestawie, ale nie spoza zestawu.

Przykład

W poniższym przykładzie przedstawiono deklaracje zmiennych z poziomami Publicdostępu , Protected, Friend, Protected Friendi Private . Należy pamiętać, że gdy Dim instrukcja określa poziom dostępu, nie trzeba dołączać słowa kluczowego Dim .

Public Class classForEverybody  
Protected Class classForMyHeirs  
Friend stringForThisProject As String  
Protected Friend stringForProjectAndHeirs As String  
Private numberForMeOnly As Integer  

Zabezpieczenia.NET Framework

Tym bardziej restrykcyjny poziom dostępu zmiennej, tym mniejsze są szanse na niewłaściwe użycie złośliwego kodu.

Zobacz też