Contextos de declaración y niveles de acceso predeterminados (Visual Basic)Declaration Contexts and Default Access Levels (Visual Basic)

Este tema describe qué tipos de Visual Basic se pueden declarar dentro de otros tipos, y lo que sus niveles de acceso de forma predeterminada si no se especifica.This topic describes which Visual Basic types can be declared within which other types, and what their access levels default to if not specified.

Niveles de contexto de declaraciónDeclaration Context Levels

El contexto de declaración de un elemento de programación es la región de código en el que se declara.The declaration context of a programming element is the region of code in which it is declared. Esto suele ser otro elemento de programación, lo que, a continuación, se denomina el que contiene el elemento.This is often another programming element, which is then called the containing element.

Los niveles de contextos de declaración son los siguientes:The levels for declaration contexts are the following:

  • Nivel de Namespace , dentro de un archivo de código fuente o espacio de nombres pero no dentro de una clase, estructura, módulo o interfazNamespace level — within a source file or namespace but not within a class, structure, module, or interface

  • Nivel de módulo , dentro de una clase, estructura, módulo o interfaz, pero no dentro de un procedimiento o bloqueModule level — within a class, structure, module, or interface but not within a procedure or block

  • Nivel de procedimiento , dentro de un procedimiento o bloque (como If o For)Procedure level — within a procedure or block (such as If or For)

La siguiente tabla muestra los niveles de acceso predeterminados para varios elementos de programación declarados, dependiendo de sus contextos de declaración.The following table shows the default access levels for various declared programming elements, depending on their declaration contexts.

Elemento declaradoDeclared element Nivel de NamespaceNamespace level Nivel de móduloModule level Nivel de procedimientoProcedure level
Variable (Dim (instrucción))Variable (Dim Statement) No permitidoNot allowed Private (Public en Structure, no se permite en Interface)Private (Public in Structure, not allowed in Interface) Public
Constantes (Const (instrucción))Constant (Const Statement) No permitidoNot allowed Private (Public en Structure, no se permite en Interface)Private (Public in Structure, not allowed in Interface) Public
Enumeración (Enum (instrucción))Enumeration (Enum Statement) Friend Public No permitidoNot allowed
Clase (Class (instrucción))Class (Class Statement) Friend Public No permitidoNot allowed
Estructura (estructura instrucción)Structure (Structure Statement) Friend Public No permitidoNot allowed
Módulo (Module (instrucción))Module (Module Statement) Friend No permitidoNot allowed No permitidoNot allowed
Interfaz (Interface (instrucción))Interface (Interface Statement) Friend Public No permitidoNot allowed
Procedimiento (instrucción Function, instrucción Sub)Procedure (Function Statement, Sub Statement) No permitidoNot allowed Public No permitidoNot allowed
Referencia externa (Declare Statement)External reference (Declare Statement) No permitidoNot allowed Public (no se permite en Interface)Public (not allowed in Interface) No permitidoNot allowed
Operador (Operator (instrucción))Operator (Operator Statement) No permitidoNot allowed Public (no se permite en Interface o Module)Public (not allowed in Interface or Module) No permitidoNot allowed
Propiedad (Property (instrucción))Property (Property Statement) No permitidoNot allowed Public No permitidoNot allowed
Propiedad predeterminada (predeterminado)Default property (Default) No permitidoNot allowed Public (no se permite en Module)Public (not allowed in Module) No permitidoNot allowed
Eventos (Event (instrucción))Event (Event Statement) No permitidoNot allowed Public No permitidoNot allowed
Delegado (Delegate (instrucción))Delegate (Delegate Statement) Friend Public No permitidoNot allowed

Para obtener más información, consulte tener acceso a los niveles en Visual Basic.For more information, see Access levels in Visual Basic.

Vea tambiénSee also