Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вы управляете доступностью переменной, указав его уровень доступа. Уровень доступа определяет, какой код имеет разрешение на чтение или запись в переменную.
Переменные-члены (определенные на уровне модуля и вне любой процедуры) по умолчанию имеют общедоступный доступ, что означает, что любой код, который их видит, может получить к ним доступ. Это можно изменить, указав модификатор доступа.
Локальные переменные (определенные внутри процедуры) номинально имеют общедоступный доступ, хотя к ним может получить доступ только код в рамках процедуры. Вы не можете изменить уровень доступа локальной переменной, но вы можете изменить уровень доступа процедуры, содержащей ее.
Дополнительные сведения см. в разделе "Уровни доступа" в Visual Basic.
Частный и общедоступный доступ
Чтобы сделать переменную доступной только из модуля, класса или структуры
Поместите инструкцию Dim для переменной внутри модуля, класса или структуры, но за пределами любой процедуры.
Включите ключевое слово Private в инструкцию
Dim
.Вы можете читать или записывать в переменную из любого места в модуле, классе или структуре, но не извне.
Чтобы сделать переменную доступной из любого кода, который может увидеть его
Для переменной-члена класса поместите оператор
Dim
внутри модуля, класса или структуры, но вне любой процедуры.Включите ключевое слово Public в инструкцию
Dim
.Вы можете считывать или записывать переменную из любого кода, взаимодействующего с сборкой.
-или-
Для локальной переменной поместите
Dim
инструкцию для переменной внутри процедуры.Не включайте ключевое
Public
слово в выражениеDim
.Вы можете читать или записывать переменную из любой точки в процедуре, но не извне.
Защищенный и дружественный доступ
Вы можете ограничить уровень доступа переменной своим классом и любыми производными классами или сборкой. Вы также можете указать объединение этих ограничений, что позволяет получить доступ к коду в любом производном классе или в любом другом месте в той же сборке. Вы указываете этот союз, объединяя ключевые слова Protected
и Friend
в одном объявлении.
Чтобы сделать переменную доступной только из его класса и любых производных классов
Поместите инструкцию
Dim
для переменной внутри класса, но вне любой процедуры.Включите ключевое слово Protected в инструкцию
Dim
.Вы можете читать или записывать в переменную из любого места в классе, а также из любого класса, производного от него, но не извне любого класса в цепочке производных.
Чтобы сделать переменную доступной только из одной сборки
Поместите инструкцию
Dim
для переменной внутри модуля, класса или структуры, но за пределами любой процедуры.Включите ключевое слово "Друг" в инструкцию
Dim
.Вы можете читать или записывать в переменную из любого места в модуле, классе или структуре, а также из любого кода в одной сборке, но не извне сборки.
Пример
В следующем примере показаны объявления переменных с уровнями доступа Public
, Protected
, Friend
, Protected Friend
и Private
. Обратите внимание, что при Dim
указании уровня доступа не требуется включать ключевое Dim
слово.
Public Class classForEverybody
Protected Class classForMyHeirs
Friend stringForThisProject As String
Protected Friend stringForProjectAndHeirs As String
Private numberForMeOnly As Integer
Безопасность .NET Framework
Чем более строгий уровень доступа переменной, тем меньше вероятность того, что вредоносный код может неправильно использовать его.