Protected (Visual Basic)
A member access modifier that specifies that one or more declared programming elements are accessible only from within their own class or from a derived class.
Sometimes a programming element declared in a class contains sensitive data or restricted code, and you want to limit access to the element. However, if the class is inheritable and you expect a hierarchy of derived classes, it might be necessary for these derived classes to access the data or code. In such a case, you want the element to be accessible both from the base class and from all derived classes. To limit access to an element in this manner, you can declare it with
Protected access modifier can be combined with two other modifiers:
Declaration Context. You can use
Protected only at the class level. This means the declaration context for a
Protected element must be a class, and cannot be a source file, namespace, interface, module, structure, or procedure.
Access Level. All code in a class can access its elements. Code in any class that derives from a base class can access all the
Protectedelements of the base class. This is true for all generations of derivation. This means that a class can access
Protectedelements of the base class of the base class, and so on.
Protected access is not a superset or subset of friend access.
Access Modifiers. The keywords that specify access level are called access modifiers. For a comparison of the access modifiers, see Access levels in Visual Basic.
Protected modifier can be used in these contexts: