47
VISUAL BASIC GUÍA DE PROGRAMACIÓN EN VISUAL BASIC CONVENCIONES DE CÓDIGO Y ESTRUCTURA DE PROGRAMAS (VISUAL BASIC) ESTRUCTURA DE UN PROGRAMA DE VISUAL BASIC VERSIÓN DE VISUAL BASIC DEL PROGRAMA HOLA A TODOS PROCEDIMIENTO MAIN EN VISUAL BASIC REFERENCIAS Y LA INSTRUCCIÓN IMPORTS (VISUAL BASIC) ESPACIOS DE NOMBRES EN VISUAL BASIC CONVENCIONES DE NOMENCLATURA DE VISUAL BASIC CONVENCIONES DE CÓDIGO DE VISUAL BASIC COMPILACIÓN CONDICIONAL EN VISUAL BASIC CÓMO: INTERRUMPIR Y COMBINAR INSTRUCCIONES EN CÓDIGO (VISUAL BASIC) CÓMO: CONTRAER Y OCULTAR SECCIONES DE CÓDIGO (VISUAL BASIC) CÓMO: APLICAR ETIQUETAS A LAS INSTRUCCIONES (VISUAL BASIC) CARACTERES ESPECIALES EN CÓDIGO (VISUAL BASIC) COMENTARIOS EN EL CÓDIGO (VISUAL BASIC) o CÓMO: AGREGAR UN COMENTARIO AL CÓDIGO (VISUAL BASIC) o DOCUMENTAR EL CÓDIGO CON XML (VB) PROCESAR EL ARCHIVO XML (VISUAL BASIC) CÓMO: CREAR DOCUMENTACIÓN XML PALABRAS CLAVE COMO NOMBRES DE ELEMENTOS EN CÓDIGO (VISUAL BASIC) ME, MY, MYBASE Y MYCLASS EN VISUAL BASIC LIMITACIONES DE VISUAL BASIC Características del lenguaje Visual Basic Interoperabilidad COM (Visual Basic) Cómo: Actualizar un proyecto de Visual Basic Convenciones de código y estructura de programas (Visual Basic) En esta sección se introduce la estructura de programas de Visual Basic típica, se proporciona un programa de Visual Basic sencillo ("Hello, World") y se describen las convenciones de código de Visual Basic. Las convenciones de código son sugerencias que no se centran en la lógica de un programa, sino en la apariencia y la estructura física. Si se cumplen, se facilita la lectura, la comprensión y el mantenimiento del código. Las convenciones de código pueden incluir, entre otras cosas: Formatos estandarizados para etiquetar y comentar código.

1.VB.guia de Programacion.convencionesDeCodigoYEscritura

Embed Size (px)

Citation preview

Page 1: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

VISUAL BASICGUÍA DE PROGRAMACIÓN EN VISUAL BASIC

CONVENCIONES DE CÓDIGO Y ESTRUCTURA DE PROGRAMAS (VISUAL BASIC) ESTRUCTURA DE UN PROGRAMA DE VISUAL BASIC VERSIÓN DE VISUAL BASIC DEL PROGRAMA HOLA A TODOS PROCEDIMIENTO MAIN EN VISUAL BASIC REFERENCIAS Y LA INSTRUCCIÓN IMPORTS (VISUAL BASIC) ESPACIOS DE NOMBRES EN VISUAL BASIC CONVENCIONES DE NOMENCLATURA DE VISUAL BASIC CONVENCIONES DE CÓDIGO DE VISUAL BASIC COMPILACIÓN CONDICIONAL EN VISUAL BASIC CÓMO: INTERRUMPIR Y COMBINAR INSTRUCCIONES EN

CÓDIGO (VISUAL BASIC) CÓMO: CONTRAER Y OCULTAR SECCIONES DE CÓDIGO

(VISUAL BASIC) CÓMO: APLICAR ETIQUETAS A LAS INSTRUCCIONES (VISUAL

BASIC) CARACTERES ESPECIALES EN CÓDIGO (VISUAL BASIC) COMENTARIOS EN EL CÓDIGO (VISUAL BASIC)

o CÓMO: AGREGAR UN COMENTARIO AL CÓDIGO (VISUAL BASIC)

o DOCUMENTAR EL CÓDIGO CON XML (VB) PROCESAR EL ARCHIVO XML (VISUAL BASIC) CÓMO: CREAR DOCUMENTACIÓN XML 

PALABRAS CLAVE COMO NOMBRES DE ELEMENTOS EN CÓDIGO (VISUAL BASIC)

ME, MY, MYBASE Y MYCLASS EN VISUAL BASIC LIMITACIONES DE VISUAL BASIC Características del lenguaje Visual Basic Interoperabilidad COM (Visual Basic) Cómo: Actualizar un proyecto de Visual Basic

Convenciones de código y estructura de programas (Visual Basic)En esta sección se introduce la estructura de programas de Visual Basic típica, se proporciona un programa de Visual Basic sencillo ("Hello, World") y se describen las convenciones de código de Visual Basic. Las convenciones de código son sugerencias que no se centran en la lógica de un programa, sino en la apariencia y la estructura física. Si se cumplen, se facilita la lectura, la comprensión y el mantenimiento del código. Las convenciones de código pueden incluir, entre otras cosas:

Formatos estandarizados para etiquetar y comentar código. Instrucciones para agregar espacios, dar formato y aplicar sangría al código. Convenciones de nomenclatura para objetos, variables y procedimientos.

Los temas siguientes presentan un conjunto de directrices de programación para los programas de Visual Basic, junto con ejemplos de uso correcto.

Page 2: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

ESTRUCTURA DE UN PROGRAMA DE VISUAL BASIC

Visual Studio 2010

Un programa de Visual Basic se crea a partir de bloques de creación estándar. Una solución consta de uno o varios proyectos. Un proyecto a su vez puede contener uno o más ensamblados. Cada ensamblado se compila a partir de uno o varios archivos de código fuente. El archivo de código fuente proporciona la definición e implementación de clases, estructuras, módulos e interfaces, que en última instancia contienen todo el código.

Para obtener más información sobre estos bloques de creación de un programa de Visual Basic, vea  Introducción a soluciones, proyectos y elementos 1 y Ensamblados y caché global de ensamblados (C# y Visual Basic) 2 .

Elementos de programación en el nivel de archivo

Al iniciar un proyecto o archivo y abrir el editor de código, verá que ya hay código en el lugar que le corresponde y en el orden correcto. Cualquier código que escriba debe seguir la siguiente secuencia:

1. Instrucciones Option2. Instrucciones Imports3. Instrucciones Namespace y elementos del nivel de espacio de nombres

Si escribe instrucciones en un orden distinto, pueden producirse errores de compilación.

Un programa también puede contener instrucciones de compilación condicional. Pueden incluirse en el archivo de código fuente entre las instrucciones de la secuencia anterior.

Instrucciones Option

Las instrucciones Option establecen reglas de base para el código subsiguiente, y de esta forma ayudan a prevenir errores de sintaxis y de lógica. Option Explicit (Instrucción, Visual Basic) 3  garantiza que se declaran todas las variables y que se escriben correctamente, lo que reduce el tiempo de depuración. La instrucción Option Strict (Instrucción) 4  ayuda a reducir errores de lógica y pérdidas de datos que puedan producirse al trabajar entre variables de diferentes tipos de datos. Option Compare (Instrucción) 5  especifica la manera en que se comparan las cadenas entre sí, según sus valoresBinary o Text.

Instrucciones Imports

Puede incluir Instrucción Imports (Tipo y espacio de nombres de .NET) 6  para importar nombres definidos fuera del proyecto. Las instrucciones Imports permiten que el código haga referencia a clases y otros tipos definidos en el espacio de nombres importado sin tener que calificarlos. Puede utilizar tantas instrucciones Imports como sea necesario. Para obtener más información, vea Referencias y la instrucción Imports (Visual Basic) 7 .

Page 3: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

Instrucciones Namespace

Los espacios de nombres ayudan a organizar y clasificar los elementos de programación para facilitar la agrupación y el acceso. Utiliza Namespace (Instrucción) 8  para clasificar las instrucciones siguientes dentro de un espacio de nombres determinado. Para obtener más información, vea Espacios de nombres en Visual Basic 9 .

Instrucciones de compilación condicional

Las instrucciones de compilación condicional pueden aparecer prácticamente en cualquier parte del archivo de código fuente. Determinan que partes del código se incluyan o excluyan en tiempo de compilación en función de ciertas condiciones. También puede utilizarlas para depurar la aplicación, ya que el código condicional se ejecuta únicamente en modo de depuración. Para obtener más información, vea Compilación condicional en Visual Basic 10 .

Elementos de programación en el nivel de espacio de nombres

Las clases, estructuras y módulos contienen todo el código del archivo de código fuente.  Son elementos del nivel de espacio de nombres, que pueden aparecer dentro de un espacio de nombres o en el nivel del archivo de código fuente.Contienen las declaraciones de todos los demás elementos de programación. Las interfaces, que definen firmas de elemento pero no proporcionan ninguna implementación, también aparecen en el nivel de módulo. Para obtener más información sobre los elementos del nivel de módulo, vea los siguientes temas:

Instrucción Class (Visual Basic) 11 Structure (Instrucción) 12 Module (Instrucción) 13 Instrucción Interface (Visual Basic) 14

Los elementos de datos en el nivel de espacio de nombres son las enumeraciones y los delegados.

Elementos de programación en el nivel de módulo

Los procedimientos, operadores, propiedades y eventos son los únicos elementos de programación que pueden contener código ejecutable (instrucciones que realizan acciones en tiempo de ejecución). Son elementos del nivel de módulo del programa. Para obtener más información sobre los elementos del nivel de procedimiento, vea los siguientes temas:

Function (Instrucción, Visual Basic) 15 Sub (Instrucción, Visual Basic) 16 Declare (Instrucción) 17 Operator (Instrucción) 18 Property (Instrucción) 19 Event (Instrucción) 20

Los elementos de datos en el nivel de módulo son las variables, las constantes, las enumeraciones y los delegados.

Page 4: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

Elementos de programación en el nivel de procedimiento

La mayoría del contenido de los elementos del nivel de procedimiento son instrucciones ejecutables, que constituyen el código en tiempo de ejecución del programa. Todo el código ejecutable debe estar incluido en algún procedimiento (Function, Sub, Operator, Get, Set, AddHandler, RemoveHandler, RaiseEvent). Para obtener más información, veaInstrucciones en Visual Basic 21 .

Los elementos de datos en el nivel de procedimiento se limitan a las constantes y las variables locales.

Procedimiento Main

El procedimiento Main es el primer código que se ejecuta cuando se ha cargado su aplicación. Main actúa como punto de partida y control general de la aplicación. Hay cuatro variedades de Main:

Sub Main() Sub Main(ByVal cmdArgs() As String) Function Main() As Integer Function Main(ByVal cmdArgs() As String) As Integer

La variedad más común de este procedimiento es Sub Main(). Para obtener más información, vea Procedimiento Main en Visual Basic 22 .

VERSIÓN DE VISUAL BASIC DEL PROGRAMA HOLA A TODOS

Page 5: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

Visual Studio 2010El siguiente programa de consola es la versión de Visual Basic del programa tradicional "Hola a todos", que muestra en pantalla la cadena "Hola a todos".VB

' A "Hello, World!" program in Visual Basic.Module Hello Sub Main() MsgBox("Hello, World!") ' Display message on computer screen. End SubEnd ModuleA continuación se indican algunos puntos importantes de este programa:

Comentarios El procedimiento Main Entrada y salida Compilación y ejecución

Comentarios

La primera línea del ejemplo contiene un comentario:VB' A "Hello, World!" program in Visual Basic.La comilla sencilla (') indica que el resto de la línea es un comentario y el compilador lo pasará por alto. Es posible tanto hacer un comentario en toda una línea como anexar un comentario al final de otra instrucción, como se muestra a continuación:VBMsgBox("Hello, World!") ' Display message on computer screen.

Procedimiento Main

Todas las aplicaciones de Visual Basic deben contener un procedimiento denominado Main.Este procedimiento sirve como punto de partida y control general de la aplicación. Se llama cuando se carga el módulo.Hay cuatro variedades de Main:

Sub Main() Sub Main(ByVal cmdArgs() As String) Function Main() As Integer Function Main(ByVal cmdArgs() As String) As Integer

La variedad más común de este procedimiento es Sub Main(). A menos que vaya a crear una aplicación de Windows Forms, debe escribir el procedimiento Main para las aplicaciones que se ejecutan por sí solas. Para obtener más información, vea Procedimiento Main en Visual Basic.

Entrada y salidaEste ejemplo utiliza la biblioteca estándar en tiempo de ejecución de Visual Basic, a la que se puede obtener acceso a través del espacio de nombres de Microsoft.VisualBasic. Si compila el programa en el entorno de desarrollo integrado (IDE), puede utilizar todos los procedimientos y las propiedades de Microsoft.VisualBasic sin importarlo. Si compila desde la línea de comandos, debe utilizar Instrucción Imports (Tipo y espacio de nombres de .NET) en el código

Page 6: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

fuente o la opción de línea de comandos /imports (Visual Basic) del compilador para que los miembros de Microsoft.VisualBasic estén disponibles en el programa.El procedimiento Main llama a la función MsgBox para mostrar un cuadro de mensaje que contiene la cadena "Hola a todos":

VB

MsgBox("Hello, World!") ' Display message on computer screen.

Compilación y ejecución

El programa "Hola a todos" se puede compilar en el entorno de desarrollo integrado (IDE) de Visual Studio, o bien mediante la línea de comandos.

Para compilar y ejecutar el programa desde la línea de comandos

1. Cree el archivo de código fuente con un editor de texto y guárdelo con un nombre de archivo como Hello.vb.

2. Para invocar el compilador, ejecute el comando siguiente:

vbc Hello.vb

Si el archivo de código fuente no incluye una instrucción Imports para el espacio de nombres Microsoft.VisualBasic, puede incluir la opción de línea de comandos/imports del compilador en el comando vbc:

vbc Hello.vb /imports:Microsoft.VisualBasic

3. Si el programa no contiene errores de compilación, el compilador crea un archivoHello.exe.

4. Para ejecutar el programa, escriba el comando siguiente:

Hello

Puede incluir opcionalmente la opción del compilador de línea de comandos /main en el comando vbc, para especificar el espacio de nombres y el módulo que proporcionan Main.

Para compilar y ejecutar el programa en el entorno IDE

1. Cree un proyecto de aplicación de consola de Visual Basic.2. Copie el código en el proyecto.3. En el menú Generar, elija el comando Generar correspondiente o presione

F5 para generar y ejecutar (que corresponde a Iniciar en el menú Depurar).

PROCEDIMIENTO MAIN EN VISUAL BASIC

Visual Studio 2010

Todas las aplicaciones de Visual Basic deben contener un procedimiento denominado Main.Este procedimiento sirve como punto de partida y control general de la aplicación. .NET Framework llama al procedimiento Main cuando ha cargado la aplicación y está listo para pasarle el control. A menos que vaya a crear una aplicación de Windows Forms, debe escribir el procedimiento Main para las aplicaciones que se ejecutan por sí solas.

Page 7: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

Main contiene el código que se ejecuta primero. En Main, se puede especificar qué formulario se cargará primero al iniciar el programa, se puede saber si se está ejecutando una copia de la aplicación en el sistema, establecer un conjunto de variables para la aplicación o abrir una base de datos que la aplicación requiera.

Requisitos para el procedimiento Main

Un archivo que se ejecuta por sí solo (normalmente con la extensión .exe) debe contener un procedimiento Main. Una biblioteca (por ejemplo con la extensión .dll) no se ejecuta por sí sola y no requiere un procedimiento Main. Los requisitos para los diferentes tipos de proyectos que se pueden crear son los siguientes:

Aplicaciones de consola que se ejecutan por sí solas; se debe proporcionar al menos un procedimiento Main. .

Aplicaciones de formularios Windows Forms que se ejecutan por sí solas. Sin embargo, el compilador de Visual Basic genera automáticamente un procedimiento Main en este tipo de aplicación y no es necesario escribir uno.

Las bibliotecas de clases no requieren un procedimiento Main. Entre ellas se incluyen las bibliotecas de controles de Windows y las bibliotecas de controles Web. Las aplicaciones Web se implementan como bibliotecas de clases.

Declarar el procedimiento Main

Hay cuatro formas de declarar el procedimiento Main. Puede tomar o no argumentos y puede devolver o no un valor.

 Nota

Si se declara Main en una clase, hay que utilizar la palabra clave Shared. En un módulo,Main no necesita ser Shared.

La manera más simple es declarar un procedimiento Sub que no toma los argumentos ni devuelve un valor.

Module mainModule Sub Main() MsgBox("The Main procedure is starting the application.") ' Insert call to appropriate starting place in your code. MsgBox("The application is terminating.") End SubEnd ModuleMain también puede devolver un valor Integer, que el sistema operativo utiliza como código de salida del programa. Otros programas pueden comprobar este código examinando el valor de ERRORLEVEL de Windows. Para devolver un código de salida, se debe declarar Main como un procedimiento Function, no como un procedimientoSub.

Module mainModule Function Main() As Integer MsgBox("The Main procedure is starting the application.") Dim returnValue As Integer = 0 ' Insert call to appropriate starting place in your code. ' On return, assign appropriate value to returnValue. ' 0 usually means successful completion. MsgBox("The application is terminating with error level " &

Page 8: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

CStr(returnValue) & ".") Return returnValue End FunctionEnd Module

Main también puede tomar como argumento una matriz de tipo String. Cada cadena de la matriz contiene uno de los argumentos de línea de comandos que se utiliza para invocar el programa. Puede tomar acciones distintas en función de sus valores.

Module mainModule Function Main(ByVal cmdArgs() As String) As Integer MsgBox("The Main procedure is starting the application.") Dim returnValue As Integer = 0 ' See if there are any arguments. If cmdArgs.Length > 0 Then For argNum As Integer = 0 To UBound(cmdArgs, 1) ' Insert code to examine cmdArgs(argNum) and take ' appropriate action based on its value. Next argNum End If ' Insert call to appropriate starting place in your code. ' On return, assign appropriate value to returnValue. ' 0 usually means successful completion. MsgBox("The application is terminating with error level " & CStr(returnValue) & ".") Return returnValue End FunctionEnd ModuleSe puede declarar Main para examinar los argumentos de línea de comandos pero no devolver un código de salida, de la manera siguiente.

Module mainModule Sub Main(ByVal cmdArgs() As String) MsgBox("The Main procedure is starting the application.") Dim returnValue As Integer = 0 ' See if there are any arguments. If cmdArgs.Length > 0 Then For argNum As Integer = 0 To UBound(cmdArgs, 1) ' Insert code to examine cmdArgs(argNum) and take ' appropriate action based on its value. Next argNum End If ' Insert call to appropriate starting place in your code. MsgBox("The application is terminating.") End SubEnd Module

REFERENCIAS Y LA INSTRUCCIÓN IMPORTS (VISUAL BASIC)

Visual Studio 2010

Para que el proyecto pueda disponer de objetos externos, elija el comando Agregar referenciadel menú Proyecto. Las referencias en Visual Basic pueden apuntar a ensamblados, que son similares a las bibliotecas de tipos pero contienen más información.

Page 9: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

Instrucción Imports

Los ensamblados incluyen uno o varios espacios de nombres. Cuando se agrega una referencia a un ensamblado, también puede agregarse una instrucción Imports a un módulo para controlar la visibilidad de los espacios de nombres del ensamblado dentro del módulo.La instrucción Imports proporciona un contexto de control de ámbito que permite utilizar solamente la parte del espacio de nombres necesaria para suministrar una referencia única.

La instrucción Imports tiene la siguiente sintaxis:

Imports [ | Aliasname =] NamespaceAliasname hace referencia a un nombre corto que se puede utilizar en el código para referirse a un espacio de nombres importado. Namespace es un espacio de nombres que está disponible mediante una referencia de proyecto, una definición dentro del proyecto o una instrucción Imports anterior.Un módulo puede contener cualquier número de instrucciones Imports. Éstas deben aparecer detrás de las instrucciones Option, si hay alguna, pero antes de cualquier otro código.

 Nota

No hay que confundir las referencias de proyecto con las instrucciones Imports oDeclare. Las referencias de proyecto hacen que los objetos externos, como los objetos de ensamblados, estén disponibles para los proyectos de Visual Basic. La instrucción Importsse utiliza para simplificar el acceso a las referencias de proyecto, pero no facilita el acceso a dichos objetos. La instrucción Declare se utiliza para declarar una referencia a un procedimiento externo de una biblioteca de vínculos dinámicos (DLL).

Utilizar alias con la instrucción Imports

La instrucción Imports facilita el acceso a los métodos de clases porque elimina la necesidad de escribir explícitamente los nombres completos de las referencias. Los alias permiten asignar un nombre más descriptivo a una sola parte de un espacio de nombres. Por ejemplo, la secuencia retorno de carro y avance de línea, que permite mostrar un texto en varias líneas, forma parte del módulo ControlChars del espacio de nombres Microsoft.VisualBasic.

 Para utilizar esta constante en un programa que no tenga un alias, debe escribir el siguiente fragmento de código:

VB

MsgBox("Some text" & Microsoft.VisualBasic.ControlChars.CrLf & "Some more text")

Las instrucciones Imports deben aparecer siempre en las primeras líneas, inmediatamente después de cualquier instrucción Option de un módulo. El fragmento de código siguiente muestra cómo se importa y se asigna un alias al módulo Microsoft.VisualBasic.ControlChars:

VB

Page 10: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

Imports CtrlChrs = Microsoft.VisualBasic.ControlChars

Las referencias que después se hagan a este espacio de nombres pueden ser mucho más breves:

VB

MsgBox("Some text" & CtrlChrs.CrLf & "Some more text")

Si una instrucción Imports no incluye un nombre de alias, los elementos definidos en el espacio de nombres importado pueden utilizarse en el módulo sin calificación. Si se especifica el nombre del alias, debe utilizarse como calificador de los nombres contenidos en dicho espacio de nombres.

ESPACIOS DE NOMBRES EN VISUAL BASIC

Visual Studio 2010

Los espacios de nombres organizan los objetos definidos en un ensamblado. Un ensamblado puede contener varios espacios de nombres; éstos, a su vez, pueden contener otros espacios de nombres. Los espacios de nombres evitan las ambigüedades y simplifican las referencias cuando se utilizan grupos grandes de objetos, como bibliotecas de clases.

Por ejemplo, .NET Framework define la clase ListBox en el espacio de nombresSystem.Windows.Forms. El fragmento de código siguiente muestra cómo se puede declarar una variable utilizando el nombre completo de esta clase:

VB

Dim LBox As System.Windows.Forms.ListBox

Evitar los conflictos de nombres

Los espacios de nombres de .NET Framework resuelven un problema que a veces se denomina contaminación de espacios de nombres y que hace referencia a los obstáculos con los que tropieza el desarrollador de una biblioteca de clases debido al uso de nombres similares en otra biblioteca. Estos conflictos con componentes existentes a veces se denominan conflictos de nombres.Por ejemplo, si crea una nueva clase denominada ListBox, podrá utilizarla en el propio proyecto sin necesidad de calificación. No obstante, si desea usar la clase ListBox de .NET Framework en el mismo proyecto, deberá usar una referencia completa para que sea única. Si la referencia no es única, Visual Basic genera un error que indica que el nombre es ambiguo.En el ejemplo de código siguiente se muestra cómo declarar objetos de este tipo:

VB

' Define a new object based on your ListBox class.

Page 11: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

Dim LBC As New ListBox' Define a new Windows.Forms ListBox control.Dim MyLB As New System.Windows.Forms.ListBox

La siguiente ilustración muestra dos jerarquías de espacios de nombres; ambas contienen un objeto denominado ListBox.

De forma predeterminada, todos los archivos ejecutables creados con Visual Basic contienen un espacio de nombres cuyo nombre es igual que el del proyecto. Por ejemplo, si se define un objeto en un proyecto denominado ListBoxProject, el archivo ejecutable, ListBoxProject.exe, contendrá un espacio de nombres denominado ListBoxProject.

Varios ensamblados pueden usar el mismo espacio de nombres. Visual Basic los trata como un solo conjunto de nombres. Por ejemplo, pueden definirse clases para un espacio de nombres denominado SomeNameSpace en un ensamblado denominado Assemb1, y definirse clases adicionales para el mismo espacio de nombres desde un ensamblado denominado Assemb2.

Nombres completos

Los nombres completos son referencias de objetos que llevan como prefijo el nombre del espacio de nombres en el que está definido el objeto. Si se crea una referencia a la clase (eligiendo Agregar referencia del menú Proyecto) se pueden utilizar objetos definidos en otros proyectos y, después, utilizar el nombre completo del objeto en el código. En el fragmento de código siguiente se muestra cómo utilizar el nombre completo para un objeto del espacio de nombres de otro proyecto:

VB

Dim LBC As New ListBoxProject.Form1.ListBoxLos nombres completos evitan los conflictos de nombres porque permiten al compilador determinar qué objeto se utiliza. No obstante, los nombres pueden llegar a ser largos y complicados. Para solucionar este problema, puede utilizar la instrucción Imports para definir un alias, es decir, un nombre abreviado que sustituya al nombre completo. Por ejemplo, en el código siguiente se crean alias para dos nombres completos y se utilizan para definir dos objetos.VB

Imports LBControl = System.Windows.Forms.ListBoxImports MyListBox = ListBoxProject.Form1.ListBox

VB

Dim LBC As LBControlDim MyLB As MyListBox

Page 12: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

Si utiliza la instrucción Imports sin un alias, puede utilizar todos los nombres del espacio de nombres sin calificación, a condición de que sean únicos en el proyecto. Si el proyecto contiene instrucciones Imports para espacios de nombres que contienen elementos con el mismo nombre, deberá usar nombres completos. Supongamos, por ejemplo, que el proyecto contiene estas instrucciones Imports:

VB

' This namespace contains a class called Class1.Imports MyProj1' This namespace also contains a class called Class1.Imports MyProj2

Si intenta usar Class1 sin que su nombre sea completo, Visual Basic genera un error para indicar que el nombre de Class1 es ambiguo.

Instrucciones en el nivel de espacio de nombres

Dentro de un espacio de nombres pueden definirse elementos como los módulos, interfaces, clases, delegados, enumeraciones, estructuras y otros espacios de nombres. Los elementos no se pueden definir como propiedades, procedimientos, variables y eventos en el nivel de espacio de nombres. Estos elementos se deben declarar dentro de los contenedores como módulos, estructuras o clases.

Palabra clave Global

Si ha definido una jerarquía anidada de espacios de nombres, el código dentro de esta jerarquía puede tener el acceso bloqueado al espacio de nombres System de .NET Framework. En el ejemplo siguiente se ilustra una jerarquía en la que el espacio de nombresSpecialSpace.System bloquea el acceso a System.

Namespace SpecialSpace Namespace System Class abc Function getValue() As System.Int32 Dim n As System.Int32 Return n End Function End Class End NamespaceEnd Namespace

En consecuencia, el compilador de Visual Basic no puede resolver correctamente la referencia a System.Int32 porque SpecialSpace.System no define Int32. Puede utilizar la palabra clave Global para iniciar la cadena de calificación en el nivel más externo de la biblioteca de clases de .NET Framework. Esto permite especificar el espacio de nombres System o cualquier otro espacio de nombres en la biblioteca de clases. Esto se ilustra en el siguiente ejemplo:

Page 13: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

Namespace SpecialSpace Namespace System Class abc Function getValue() As Global.System.Int32 Dim n As Global.System.Int32 Return n End Function End Class End NamespaceEnd Namespace

Puede utilizar Global para tener acceso a otros espacios de nombres de nivel de raíz, comoMicrosoft.VisualBasic, y a cualquier espacio de nombres asociado a su proyecto.

CONVENCIONES DE NOMENCLATURA DE VISUAL BASIC

Visual Studio 2010

Al dar nombre a un elemento de una aplicación de Visual Basic, el primer carácter del nombre debe ser un carácter alfabético o un guión de subrayado. Tenga en cuenta, sin embargo, que los nombres que empiezan con un guión de subrayado no cumplen las normas de Common Language Specification (CLS).

A la nomenclatura se aplican las siguientes sugerencias.

Empiece cada palabra independiente de un nombre con una letra mayúscula, como enFindLastRecord y RedrawMyForm.

Empiece los nombres de método y de función con un verbo, como en InitNameArrayo CloseDialog.

Empiece los nombres de clase, estructura, módulo y propiedad con un nombre, como enEmployeeName o CarAccessory.

Empiece los nombres de interfaz con el prefijo "I", seguido de un nombre o una frase nominal, como IComponent, o con un adjetivo que describa el comportamiento de la interfaz, como IPersistable. No utilice el subrayado, y utilice lo menos posible las abreviaturas, ya que pueden causar confusiones.

Empiece los nombres de controlador de eventos con un nombre que describa el tipo de evento seguido por el sufijo "EventHandler", como en "MouseEventHandler".

En nombres de clases de argumento de evento, incluya el sufijo "EventArgs". Si un evento tiene un concepto de “antes” o “después”, utilice un sufijo en

tiempo presente o pasado, como en "ControlAdd" o "ControlAdded". Para términos largos o utilizados con frecuencia, utilice abreviaturas para

mantener las longitudes de los nombres dentro un límite razonable, por ejemplo, "HTML" en lugar de "Lenguaje de marcado de hipertexto". En general, los nombres de variable con más de 32 caracteres son difíciles de leer en una pantalla configurada para una resolución baja.Además, asegúrese de que sus abreviaturas sean coherentes a lo largo de toda la aplicación. Si utiliza indistinta y aleatoriamente "HTML" y "Lenguaje de marcado de hipertexto" en un mismo proyecto, puede provocar confusión.

Page 14: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

Evite utilizar nombres que en un entorno interno sean iguales que otros nombres de un entorno externo. Se producirán errores si se obtiene acceso a la variable equivocada. Si se produce un conflicto entre una variable y la palabra clave del mismo nombre, debe identificar la palabra clave poniéndole delante la biblioteca de tipos adecuada. Por ejemplo, si tiene una variable denominada Date, sólo puede utilizar la función intrínsecaDate llamando a DateTime.Date.

CONVENCIONES DE CÓDIGO DE VISUAL BASIC

Visual Studio 2010

Microsoft utiliza estas directrices para desarrollar ejemplos y documentación. La especificación del lenguaje de Visual Basic no define una codificación estándar.

Las convenciones de codificación dan un aspecto coherente al código, de modo que los lectores pueden centrar su atención en el contenido y no en el diseño.

Las convenciones permiten que los lectores comprendan el código con más rapidez porque les permite hacer suposiciones basadas en su experiencia anterior.

Las convenciones facilitan la copia, la modificación y el mantenimiento del código.

Las convenciones muestran los "procedimientos recomendados" de Visual Basic.

Explicación

Convenciones de nomenclatura

Las directrices de nomenclatura se tratan en Instrucciones de diseño para desarrollar bibliotecas de clases.

No tiene que cambiar el nombre de los objetos que se hayan creado con las herramientas de diseño de Visual Studio para que se ajusten a estas directrices.

Utilice las calificaciones de espacios de nombres en lugar de agregar instrucciones Imports. Si un espacio de nombres se importa de manera predeterminada en un proyecto, no tiene que utilizar nombres completos en el código porque se ejecutará sin calificar con IntelliSense cuando se copie y se pegue. Al dividir líneas largas de código para facilitar la lectura del código, los nombres completos pueden cortarse después del "." Por ejemplo:

VB

Dim collection As System.Diagnostics. InstanceDataCollectionCollection

No utilice "Mi" o "mi" como parte de un nombre de variable. Esto crea confusión con los objetos My.

Page 15: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

Convenciones de diseño

Un diseño apropiado utiliza formatos para hacer hincapié en la estructura del código y facilitar su lectura.

Utilice la característica de lista descriptiva para dar formato al código con la configuración predeterminada (sangría automática, sangrías de 4 caracteres, guardar tabuladores como espacios). Para obtener más información, vea Opciones específicas de VB, Basic, Editor de texto, Opciones (Cuadro de diálogo).

Utilice sólo una instrucción por línea. No utilice el carácter (:) de continuación de línea de Visual Basic.

Utilice sólo una declaración por línea. Si la lista descriptiva no da formato a las líneas de continuación, aplique una

sangría de una posición de tabulación a las líneas de continuación. Agregue al menos una línea en blanco entre el método y las definiciones de

propiedad.

Convenciones de los comentarios

No utilice comentarios al final de una línea de código. Sitúe los comentarios en una línea independiente.

Comience el texto del comentario con una letra mayúscula. Finalice el comentario con un punto. Inserte un espacio entre el delimitador de comentario (') y el texto del

comentario.

VB ' Here is a comment.

No cree bloques de asteriscos con formato alrededor de los comentarios.

Estructura del programa

Al utilizar el método Main, utilice la construcción predeterminada para las nuevas aplicaciones de consola y utilice My para los argumentos de la línea de comandos.

VB

Sub Main() For Each argument As String In My.Application.CommandLineArgs ' Add code here to use the string variable. NextEnd Sub

Convenciones de lenguaje

String (Tipo de datos)

Utilice & para concatenar cadenas:

VB

MsgBox("hello" & vbCrLf & "goodbye")

Page 16: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

Para anexar cadenas en bucles, utilice el objeto StringBuilder:

VB

Dim longString As New System.Text.StringBuilderFor count As Integer = 1 To 1000 longString.Append(count)Next

Inferencia de tipo

Saque partido de la inferencia de tipos para las variables locales:

VB

Public Sub GetQuery() Dim filterValue = "London" Dim query = From customer In customers Where customer.Country = filterValueEnd Sub

Delegados flexibles en controladores de eventos

Utilice delegados flexibles y omita argumentos de evento si no está utilizando argumentos de evento en el código:

VB

Public Sub Form1_Load() Handles Form1.LoadEnd Sub

Tipo de datos sin signo

Utilice Integer en lugar de tipos sin signo a menos que la memoria sea insuficiente.

Matrices

Utilice la sintaxis abreviada al inicializar las matrices en la línea de declaración:

VB

Dim letters1() As String = {"a", "b", "c"}

en lugar de:

VB

Dim letters2() As String = New String() {"a", "b", "c"}

Sitúe el designador de la matriz en la variable, no en el tipo:

VB

Page 17: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

Dim letters3() As String = {"a", "b", "c"}

en lugar de:

VB

Dim letters4 As String() = {"a", "b", "c"}

Utilice la sintaxis {} al declarar e inicializar matrices de tipos de datos básicos:

VB

Dim letters5() As String = {"a", "b", "c"}

en lugar de:

VB

Dim letters6(2) As Stringletters6(0) = "a"letters6(1) = "b"letters6(2) = "c"

Utilice la palabra clave With

Cuando utilice una serie de llamadas a un objeto, considere la posibilidad de utilizar la palabra clave With.

VB

With orderLog .Log = "Application" .Source = "Application Name" .MachineName = "Computer Name"End With

Utilizar la inferencia de tipos para variables de bucle en instrucciones For o For Each

Permita que la inferencia de tipos determine el tipo de variable de intervalo de bucle.

A continuación hay un ejemplo de cómo se utiliza la inferencia de tipos en una instrucciónFor:

VB

For count = 0 To 2 MsgBox(names(count))Next

A continuación hay un ejemplo de cómo se utiliza la inferencia de tipos en una instrucciónFor Each:

VB

Page 18: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

For Each name In names MsgBox(name)Next

Utilizar las instrucciones Try...Catch y Using para el control de excepciones

No utilice On Error Goto. Para controlar las excepciones, utilice una instrucción Try...Catch:

VB

Dim conn As New SqlConnection("connection string")Try Conn.Open()Catch ex As SqlException

Finally Conn.Close()End Try

La instrucción Using combina una instrucción Try...Catch con una llamada al métodoDispose y simplifica el código. Si está utilizando una instrucción Try...Catch y el único código en el bloque Finally es una llamada al método Dispose, utilice la instrucciónUsing en su lugar.

VB

Using redPen As New Pen(color.Red) ' Insert code here.End Using

Utilizar la palabra clave IsNot

Utilice preferentemente la palabra clave IsNot a Not...Is Nothing.

Utilizar las palabras clave AndAlso y OrElse

Para evitar excepciones y aumentar el rendimiento omitiendo el código innecesario, utiliceAndAlso en lugar de And y OrElse en lugar de Or al realizar las comparaciones:

VB

' Avoid a null reference exception. If the left side of the AndAlso ' operator is False, the right side is not evaluated and a null ' exception is not thrown.If nullableObject IsNot Nothing AndAlso nullableObject = testValue Then

End If

' Avoid an unnecessary resource-intensive operation. If the left side' of the OrElse operator is True, the right side is not evaluated and ' a resource-intensive operation is not called.If testCondition OrElse ResourceIntensiveOperation() Then

Page 19: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

End If

Instancias de formularios predeterminadas

Utilice Form1.ShowDialog en lugar de My.Forms.Form1.ShowDialog.

New (Palabra clave)

Utilice la creación de instancias abreviadas:

VB

Dim employees As New List(Of String)

La línea anterior es equivalente a esto:

VB

Dim employees2 As List(Of String) = New List(Of String)

Utilice los inicializadores de objeto para los nuevos objetos en lugar del constructor sin parámetros:

VB

Dim orderLog As New EventLog With { .Log = "Application", .Source = "Application Name", .MachineName = "Computer Name"}

Control de eventos

Utilice Handles en lugar de AddHandler.

VB

Private Sub ToolStripMenuItem1_Click() Handles ToolStripMenuItem1.ClickEnd Sub

Utilice AddressOf y no cree instancias explícitas del delegado:

VB

Dim closeItem As New ToolStripMenuItem( "Close", Nothing, AddressOf ToolStripMenuItem1_Click)Me.MainMenuStrip.Items.Add(closeItem)

Cuando defina un evento, utilice la sintaxis corta y permita que el compilador defina el delegado:

VB

Public Event WhatHappened(ByVal source As Object, ByVal e As WhatHappenedEventArgs)

Page 20: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

No compruebe si un evento es Nothing (null) antes de llamar al método RaiseEvent.RaiseEvent comprueba Nothing antes de generar el evento.

Utilizar miembros compartidos

Llame a los miembros Shared utilizando el nombre de clase y no una variable de instancia.

Utilizar la función MsgBox

Utilice MsgBox en lugar de MessageBox.Show o Console.WriteLine. En entornos que no admiten la función MsgBox, como Silverlight, utilice una alternativa adecuada.

Utilice el espacio de nombres My

Utilice las características My en preferencia a la biblioteca de clases de .NET Framework o a la biblioteca en tiempo de ejecución de Visual Basic. Para obtener más información, vea Objetos (Visual Basic).

Utilizar literales XML

Los literales XML simplifican las tareas más comunes con las que se encuentra al trabajar con XML (por ejemplo, cargar, consultar y transformar). Al desarrollar con XML, siga estas instrucciones:

Utilice literales XML para crear documentos y fragmentos XML en lugar de llamar directamente a API XML.

Importe espacios de nombres XML al archivo o nivel de proyecto para sacar partido de la optimización del rendimiento para los literales XML.

Utilice las propiedades de eje XML para tener acceso a elementos y atributos en un documento XML.

Utilice expresiones incrustadas para incluir valores y crear XML a partir de valores existentes en lugar de utilizar llamadas de API como el método Add:

VB

Private Function GetHtmlDocument( ByVal items As IEnumerable(Of XElement)) As String

Dim htmlDoc = <html> <body> <table border="0" cellspacing="2"> <%= From item In items Select <tr> <td style="width:480"> <%= item.<title>.Value %> </td> <td><%= item.<pubDate>.Value %></td> </tr> %> </table> </body> </html>

Page 21: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

Return htmlDoc.ToString()End Function

Consultas LINQ

Utilice nombres descriptivos para las variables de consulta:

VB

Dim seattleCustomers = From cust In customers Where cust.City = "Seattle"

Cree alias de elementos en una consulta para asegurarse de que los nombres de propiedad de tipos anónimos se escriben con las mayúsculas correctas mediante la grafía Pascal:

VB

Dim customerOrders = From customer In customers Join order In orders On customer.CustomerID Equals order.CustomerID Select Customer = customer, Order = order

Cambie el nombre de las propiedades cuando los nombres de propiedad en el resultado puedan ser ambiguos. Por ejemplo, si la consulta devuelve un nombre de cliente y un Id. de pedido, en lugar de dejarlos como Name e ID en el resultado, cámbieles el nombre:

VB

Dim customerOrders2 = From cust In customers Join ord In orders On cust.CustomerID Equals ord.CustomerID Select CustomerName = cust.Name, OrderID = ord.ID

Utilice la inferencia de tipos en la declaración de variables de consulta y variables de intervalo:

VB

Dim customerList = From cust In customers

Alinee las cláusulas de consulta bajo la instrucción From:

VB

Dim newyorkCustomers = From cust In customers Where cust.City = "New York" Select cust.LastName, cust.CompanyName

Utilice las cláusulas Where antes de otras cláusulas de consulta para asegurarse de que las cláusulas de consulta posteriores operen en el conjunto de datos reducido y filtrado:

Page 22: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

VB

Dim newyorkCustomers2 = From cust In customers Where cust.City = "New York" Order By cust.LastName

Utilice la cláusula Join para definir explícitamente una combinación en lugar de utilizar la cláusula Where para definir implícitamente una combinación:

VB

Dim customerList2 = From cust In customers Join order In orders On cust.CustomerID Equals order.CustomerID Select cust, order

Utilice los miembros de la biblioteca en tiempo de ejecución de Visual Basic

Utilice la biblioteca en tiempo de ejecución de Visual Basic en preferencia a la biblioteca de clases de .NET Framework.

COMPILACIÓN CONDICIONAL EN VISUAL BASIC

Visual Studio 2010

En la compilación condicional, se compilan de forma selectiva bloques determinados del código de un programa mientras que otros se omiten.Por ejemplo, podría interesarle escribir instrucciones de depuración que comparen la velocidad de varios enfoques de la misma tarea de programación o quizá desee adaptar una aplicación en varios idiomas. Las instrucciones de compilación condicional se han concebido para su ejecución en tiempo de compilación, no durante la ejecución.

Los bloques de código que se compilarán de forma condicional se denotan con la directiva#If...Then...#Else. Por ejemplo, para crear versiones en francés y alemán de la misma aplicación a partir del mismo código fuente, incruste segmentos de código específicos de la plataforma correspondiente en instrucciones #If...Then, por medio de las constantes predefinidasFrenchVersion y GermanVersion. En el ejemplo siguiente se explica cómo hacerlo:

VB

#If FrenchVersion Then ' <code specific to the French language version>.#ElseIf GermanVersion Then ' <code specific to the German language version>.#Else ' <code specific to other versions>.#End If

Page 23: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

Si establece el valor de la constante de compilación condicional FrenchVersion en True en tiempo de compilación, se compila el código condicional de la versión en francés. Si define el valor de la constante GermanVersion como True, el compilador usa la versión en alemán. Si ninguna de las dos está establecida en True, se ejecuta el código del último bloque Else.

Nota

Autocompletar no funcionará al editar código y utiliza directivas de compilación condicional si el código no forma parte de la bifurcación actual.

Declarar constantes de compilación condicional

Existen tres métodos para definir las constantes de compilación condicional:

En el Diseñador de proyectos En la línea de comandos, cuando se utiliza el compilador de la línea de

comandos. En el código.

Las constantes de compilación condicional tienen un ámbito especial y no está permitido el acceso a ellas desde el código estándar. El ámbito de una constante de compilación condicional depende de cómo se ha definido. En la tabla siguiente se muestra una lista del ámbito de las constantes declaradas siguiendo los tres métodos antes mencionados.

Método de definición de la constante

Ámbito de la constante

Diseñador de proyectos Público para todos los archivos del proyecto

Línea de comandos Público para todos los archivos que se pasen al compilador de la línea de comandos

Instrucción #Const en el código Privado para el archivo en que se declara

Para establecer las constantes en el Diseñador de proyectos

Antes de crear el archivo ejecutable, defina las constantes en el Diseñador de proyectos siguiendo el procedimiento descrito en Cómo: Modificar las propiedades y los valores de configuración del proyecto.

Para definir constantes en la línea de comandos

Use el modificador /d para especificar constantes de compilación condicional, como en el ejemplo siguiente:

vbc MyProj.vb /d:conFrenchVersion=–1:conANSI=0

No se requiere un espacio entre el modificador /d y la primera

Page 24: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

constante. Para obtener más información, vea /define (Visual Basic).

Las declaraciones de la línea de comandos reemplazan las especificadas en elDiseñador de proyectos, pero no las borran. Los argumentos definidos en elDiseñador de proyectos permanecen activos durante las compilaciones subsiguientes.

A la hora de escribir constantes en el propio código no existen reglas estrictas en cuanto a su ubicación, puesto que su ámbito es el módulo completo en el que se declaran.

Para definir constantes en el código

Sitúe las constantes en el bloque de declaración del módulo en el que se utilicen. De esta forma se facilitan la organización del código y su lectura.

CÓMO: INTERRUMPIR Y COMBINAR INSTRUCCIONES EN CÓDIGO (VISUAL BASIC)

Visual Studio 2010

Cuando crea el código, a veces debe crear instrucciones largas que requieren un desplazamiento horizontal en el Editor de código. Aunque esto no afecta a la forma en que se ejecuta el código, dificulta la lectura del código tal y como aparece en la pantalla. En estos casos, debe considerar la posibilidad de segmentar la única instrucción larga en varias líneas.

En otras ocasiones, quizás desee consolidar las instrucciones en una sola línea; por ejemplo, si tiene diversas instrucciones cortas y desea ahorrar espacio. Esta característica puede ser también útil al organizar variables o comandos dentro de un módulo.

Para segmentar una sola instrucción en varias líneas

Utilice el carácter de continuación de línea, que es un subrayado (_), en el punto en el que desea que la línea se interrumpa. El subrayado debe ir precedido inmediatamente de un espacio o un terminador de línea (retorno de carro). En algunos casos, se puede omitir el carácter de continuación de línea y el compilador de Visual Basic continuará implícitamente la instrucción

Page 25: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

en la línea de código siguiente. Para obtener una lista de elementos de sintaxis en los que se puede omitir el carácter de continuación de línea, vea "Continuación de línea implícita" en Instrucciones en Visual Basic.

En el ejemplo siguiente, la instrucción se segmenta en cuatro líneas con caracteres de continuación de línea al final de todas las líneas excepto la última.

VB

cmd.CommandText = _ "SELECT * FROM Titles JOIN Publishers " _ & "ON Publishers.PubId = Titles.PubID " _ & "WHERE Publishers.State = 'CA'"

La utilización de esta secuencia facilita la lectura del código, tanto en pantalla como al imprimirlo.

Nota

El carácter de continuación de línea es necesariamente lo último que aparece en una línea. No es posible agregar nada más en la misma línea.

Existen algunas restricciones respecto al uso del carácter de continuación de línea en determinadas posiciones, como en medio de un nombre de argumento. Puede segmentar una lista de argumentos con el carácter de continuación de línea, pero los nombres individuales de los argumentos deben permanecer intactos.

Nota

No es posible continuar un comentario mediante el carácter de continuación de línea. Una vez que se inicia un comentario, el compilador no busca ningún significado especial en los caracteres. Para insertar un comentario de múltiples líneas, repita el símbolo de comentario en cada línea (').

Aunque el método recomendado consiste en colocar cada instrucción en una línea independiente, Visual Basic también permite colocar varias instrucciones en la misma línea.

Para colocar varias instrucciones en la misma línea

Separe las instrucciones con un signo de dos puntos (:), como en el ejemplo siguiente:

VB

text1.Text = "Hello" : text1.BackColor = System.Drawing.Color.Red

Page 26: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

CÓMO: CONTRAER Y OCULTAR SECCIONES DE CÓDIGO (VISUAL BASIC)

Basic.La directiva #Region permite especificar un bloque de código que se puede expandir o contraer al utilizar el editor de código de Visual Studio. La capacidad para ocultar código de forma selectiva facilita la administración del código y su lectura. Para obtener más información, veaCómo: Esquematizar y ocultar el código.

Las directivas #Region admiten la semántica de bloque de código como #If...#End If. Es decir, no pueden empezar en un bloque y terminar en otro; su principio y su fin deben estar en el mismo bloque. Las directivas #Region no se admiten en las funciones.

Para contraer y esconder secciones de código

Sitúe la sección de código entre las instrucciones #Region y #End Region, como en el siguiente ejemplo:

VB

#Region "This is the code to be collapsed" Private components As System.ComponentModel.Container Dim WithEvents Form1 As System.Windows.Forms.Form

Private Sub InitializeComponent() components = New System.ComponentModel.Container Me.Text = "Form1" End Sub#End Region

El bloque #Region puede utilizarse varias veces en un archivo de código; de esta forma, los usuarios pueden definir sus propios bloques de procedimientos y clases que, a su vez, pueden contraerse. Los bloques #Region también pueden anidarse dentro de otros bloques #Region.

Nota

Al ocultar el código no evita que éste se compile, y no afecta a las instrucciones#If...#End If.

CÓMO: APLICAR ETIQUETAS A LAS INSTRUCCIONES (VISUAL BASIC)

Visual Studio 2010

Los bloques de instrucciones están formados por líneas de código delimitadas por dos puntos.Las líneas de código precedidas por una cadena o número entero identificador se denominanetiquetadas. Las etiquetas de instrucciones se utilizan

Page 27: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

para marcar una línea de código e identificarla para su utilización en instrucciones del tipo On Error Goto.Las etiquetas pueden ser identificadores de Visual Basic 2010 válidos, como los que identifican elementos de programación o literales enteros. Las etiquetas deben aparecen al principio de una línea de código fuente y deben ir seguidas de un signo dos puntos, independientemente de si van seguidas de una instrucción en la misma línea.

El compilador identifica las etiquetas al comprobar si el principio de la línea coincide con un identificador ya definido. Si no es así, el compilador dará por hecho que se trata de una etiqueta.

Las etiquetas tienen su propio espacio de declaración y no interfieren con otros identificadores.El ámbito de una etiqueta es el cuerpo del método. La declaración de etiqueta tiene prioridad en cualquier situación ambigua.

Nota

Las etiquetas sólo se pueden utilizar en instrucciones ejecutables dentro de métodos.

Para etiquetar una línea de código.

Coloque un identificador, seguido de dos puntos, al principio de la línea de código fuente.

Por ejemplo, a las siguientes líneas de código se les han asignado las etiquetas Jump y120, respectivamente:

VB

Jump: FileOpen(1, "testFile", OpenMode.Input) ' ...120: FileClose(1)

CARACTERES ESPECIALES EN CÓDIGO (VISUAL BASIC)

Visual Studio 2010

A veces es necesario usar caracteres especiales en el código, es decir, caracteres que no son alfabéticos o numéricos. Los caracteres de puntuación y especiales del juego de caracteres de Visual Basic tienen varias finalidades, desde organizar el texto del programa hasta definir las tareas que realiza el compilador o el programa compilado. No especifican que se deba realizar una operación.

Paréntesis

Page 28: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

Utilice paréntesis al definir un procedimiento, como Sub o Function. Debe incluir entre paréntesis todas las listas de argumentos de los procedimientos. También se utilizan paréntesis para agrupar las variables o argumentos en grupos lógicos, en particular para reemplazar el orden predeterminado de prioridad de operadores en una expresión compleja.Esto se ilustra en el siguiente ejemplo:

VB

Dim a, b, c, d, e As Doublea = 3.2b = 7.6c = 2d = b + c / ae = (b + c) / a

Tras la ejecución del código anterior, el valor de d es 8,225 y el valor de e es 3. El cálculo de dutiliza la prioridad predeterminada de / sobre + y es equivalente a d = b + (c / a). Los paréntesis del cálculo para e reemplazan la prioridad predeterminada.

Separadores

Los separadores hacen lo que su nombre sugiere; separan secciones de código. En Visual Basic, el carácter separador corresponde a los dos puntos (:). Utilice los separadores se desea incluir varias instrucciones en una única línea en lugar de escribirlas en líneas independientes.Esto ahorra espacio y mejora la legibilidad del código. En el ejemplo siguiente se muestran tres instrucciones separadas por dos puntos.

VB

a = 3.2 : b = 7.6 : c = 2

Para obtener más información, vea Cómo: Interrumpir y combinar instrucciones en código (Visual Basic).

El carácter de dos puntos (:) también se utiliza para identificar una etiqueta de instrucción.Para obtener más información, vea Cómo: Aplicar etiquetas a las instrucciones (Visual Basic).

Concatenación

Utilice el operador & para concatenar o vincular cadenas entre sí. No lo confunda con el operador +, que suma valores numéricos. Si utiliza el operador + para concatenar cuando está operando con valores numéricos, puede obtener resultados no deseados. En el siguiente ejemplo se muestra cómo.VB

var1 = "10.01"var2 = 11resultA = var1 + var2

Page 29: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

resultB = var1 & var2

Siguiendo la ejecución del código anterior, el valor de resultA es 21,01 y el valor deresultB es "10,0111".

Operadores de acceso a miembros

Para tener acceso a un miembro de un tipo, utilice el operador punto (.) o signo de exclamación (!) entre el nombre del tipo y el nombre del miembro.

Punto (.) Operador

Utilice el operador . en una clase, estructura, interfaz o enumeración como operador de acceso a miembros. El miembro puede ser un campo, una propiedad, un evento o un método. Esto se ilustra en el siguiente ejemplo:

VB

Dim nextForm As New System.Windows.Forms.Form' Access Text member (property) of Form class (on nextForm object).nextForm.Text = "This is the next form"' Access Close member (method) on nextForm.nextForm.Close()

Signo de exclamación (!) Operador

Utilice el operador !, sólo en una clase o interfaz, como operador de acceso al diccionario. La clase o interfaz debe tener una propiedad predeterminada que acepte un solo argumentoString. El identificador que sigue inmediatamente al operador ! se convierte en el valor del argumento pasado a la propiedad predeterminada como cadena. En el siguiente ejemplo se muestra cómo.

VB

Public Class hasDefault Default Public ReadOnly Property index(ByVal s As String) As Integer Get Return 32768 + AscW(s) End Get End PropertyEnd ClassPublic Class testHasDefault Public Sub compareAccess() Dim hD As hasDefault = New hasDefault() MsgBox("Traditional access returns " & hD.index("X") & vbCrLf & "Default property access returns " & hD("X") & vbCrLf & "Dictionary access returns " & hD!X) End SubEnd Class

Las tres líneas de resultado de MsgBox muestran el valor 32856. La primera línea utiliza un acceso tradicional a la propiedad index, la segunda aprovecha el hecho

Page 30: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

de que index es la propiedad predeterminada de la clase hasDefault y la tercera usa el acceso de diccionario a la clase.

Observe que el segundo operando del operador ! debe ser un identificador de Visual Basic válido que no esté entre comillas (" "). Dicho de otra forma, no se puede utilizar un literal de cadena o una variable de cadena. El cambio siguiente a la última línea de la llamada MsgBoxgenera un error porque "X" es un literal de cadena incluido entre comillas.

"Dictionary access returns " & hD!"X")

 Nota

Las referencias a colecciones predeterminadas deben ser explícitas. En particular, no es posible utilizar el operador ! en una variable de enlace en tiempo de ejecución.

El carácter ! también se utiliza como carácter de tipo Single.

COMENTARIOS EN EL CÓDIGO (VISUAL BASIC)

Visual Studio 2010

Cuando lea ejemplos de código, encontrará el símbolo de comentario ('). Este símbolo solicita al compilador de Visual Basic que pase por alto el texto que aparece a continuación o elcomentario. Los comentarios son notas cortas explicativas que se agregan al código para aportar mayor información a las personas que lo lean.Una buena práctica de programación consiste en comenzar todos los procedimientos con un comentario breve que describe las características funcionales del procedimiento (lo que hace).Esto ayuda al programador y a los que puedan examinar el código. Debería separar los detalles de implementación (cómo lo hace el procedimiento) de los comentarios que describen las características funcionales. Al incluir detalles de implementación en la descripción, recuerde actualizarlos en el momento de actualizar la función.

Los comentarios pueden ir a continuación de una instrucción en la misma línea, o pueden ocupar una línea completa. Ambas opciones quedan reflejadas en el código siguiente.

VB

' This is a comment beginning at the left edge of the screen.text1.Text = "Hi!" ' This is an inline comment.

Si el comentario necesita más de una línea, utilice el símbolo de comentario en cada línea, como se muestra en el siguiente ejemplo:

VB

' This comment is too long to fit on a single line, so we break ' it into two lines. Some comments might need three or more lines.

Page 31: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

Instrucciones sobre los comentarios

La tabla siguiente proporciona directrices generales sobre los tipos de comentarios que pueden preceder una sección de código. Se trata únicamente de sugerencias, ya que Visual Basic no tiene reglas obligatorias para agregar comentarios. Escriba lo que considere más conveniente, para uso propio o para cualquier otra persona que lea el código.

Tipo de comentario

Descripción del comentario

Finalidad Describe qué hace el procedimiento (no cómo lo hace).

Suposiciones Enumera cada variable externa, control, archivo abierto u otro elemento al cual el procedimiento tenga acceso.

Efectos Enumera cada variable externa, control o archivo que esté afectado, y el efecto que tienen (únicamente si no es evidente).

Entradas Especifica el propósito del argumento.

Valores devueltos

Explica los valores que devuelve el procedimiento

Recuerde los siguientes puntos:

Cada declaración de variable importante debe incluir un comentario anterior que describa el uso de la variable que se declara.

Las variables, controles y procedimientos deben tener un nombre lo suficientemente claro para asegurar que el uso de comentarios sólo sea necesario para detalles de implementación compleja.

Después de la secuencia de continuación de línea no puede escribirse un comentario en la misma línea.

Puede agregar o quitar símbolos de comentario de un bloque de código seleccionando una o más líneas de código y eligiendo los botones Selección con

comentarios ( ) y Selección sin comentarios ( ) de la barra de herramientas Edición.

 Nota

También puede agregar comentarios al código poniendo la palabra clave REM antes del texto. Sin embargo, el símbolo ' y los botones Selección con comentarios y Selección sin comentarios son más fáciles de utilizar y requieren menos espacio y memoria.

Page 32: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

o CÓMO: AGREGAR UN COMENTARIO AL CÓDIGO (VISUAL BASIC)

Visual Studio 2010

En este ejemplo se muestran comentarios que ocupan una línea de código fuente completa, parte de una línea y más de una línea.

Ejemplo

VB

' This entire line is a comment.Dim DailyTotal As Decimal = 0 ' Sales total for today.' This comment is so long that it requires more than one line, so ' the comment character (') must be repeated on the second line.

Este ejemplo de código también está disponible como fragmento de código de IntelliSense.En el selector de fragmentos de código, se encuentra en Lenguaje Visual Basic. Para obtener más información, vea Fragmentos de código de IntelliSense de Visual Basic.

Compilar el código

Este ejemplo necesita:

Una referencia al espacio de nombres System.

 Nota

No es posible continuar un comentario utilizando la secuencia de continuación de línea ( _). Deberá repetir el carácter de comentario (') al principio de cada línea de comentario.

o DOCUMENTAR EL CÓDIGO CON XML (VISUAL BASIC)

Visual Studio 2010

En Visual Basic se puede documentar el código utilizando XML

Comentarios de la documentación XML

Visual Basic proporciona un medio sencillo para crear automáticamente documentación XML para los proyectos. Puede generar automáticamente un esquema XML para los tipos y miembros y, a continuación, proporcionar resúmenes, documentación descriptiva para cada parámetro y otros comentarios. Con la configuración apropiada, la documentación XML se emite automáticamente en un

Page 33: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

archivo XML que tiene el mismo nombre que el proyecto y la extensión .xml. Para obtener más información, vea /doc.

El archivo XML se puede utilizar o, de lo contrario, manipularse como XML. Este archivo se encuentra en el mismo directorio que el archivo .exe de salida o el archivo .dll del proyecto.

La documentación XML empieza con '''. El procesamiento de estos comentarios presenta algunas restricciones:

La documentación debe estar en XML bien formado. Si el código XML no está bien formado, se generará una advertencia y el archivo de documentación incluirá un comentario que mencione el error encontrado.

Los programadores pueden crear su propio conjunto de etiquetas. Existe un conjunto de etiquetas recomendado (vea "Secciones relacionadas" en este tema). Algunas de las etiquetas recomendadas tienen significados especiales:

La etiqueta <param> se usa para describir parámetros. Cuando se utiliza, el compilador comprueba si el parámetro existe y si todos los parámetros están descritos en la documentación. Si la comprobación no tiene éxito, el compilador emite una advertencia.

El atributo cref se puede asociar a cualquier etiqueta para proporcionar una referencia a un elemento de código. El compilador comprueba si existe ese elemento de código. Si la comprobación no tiene éxito, el compilador emite una advertencia. El compilador también respeta cualquier instrucción Importscuando busca un tipo descrito en el atributo cref.

La etiqueta <summary> la utiliza IntelliSense en Visual Studio para mostrar información adicional sobre un tipo o miembro.

PROCESAR EL ARCHIVO XML (VISUAL BASIC)

Visual Studio 2010

El compilador genera una cadena id. por cada construcción del código marcada para generar documentación. (Para obtener información sobre cómo etiquetar el código, vea Etiquetas XML recomendadas para comentarios de documentación (Visual Basic).) La cadena id. identifica de forma exclusiva cada construcción. Los programas que procesan el archivo XML pueden utilizar la cadena id. para identificar el elemento de metadatos o reflexión correspondiente en .NET Framework.

El archivo XML no es una representación jerárquica del código, es una lista sencilla con un identificador generado para cada elemento.

El compilador cumple las siguientes reglas cuando genera las cadenas id.:

No se coloca ningún espacio en blanco en la cadena. La primera parte de la cadena de id. identifica el tipo de miembro por medio

de un único carácter seguido de dos puntos. Se utilizan los siguientes tipos de miembros:

Carácte Descripción

Page 34: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

r

N Espacio de nombres

No se pueden agregar comentarios de documentación a un espacio de nombres, pero, si se admiten, se pueden hacer referencias CREF a ellos.

T tipo: Class, Module, Interface, Structure, Enum, Delegate

F campo: Dim

P propiedad: Property (incluidas las propiedades predeterminadas)

M método: Sub, Function, Declare, Operator

E evento: Event

! cadena de error

El resto de la cadena proporciona información acerca del error. El compilador de Visual Basic genera información de error para los vínculos que no se pueden resolver.

La segunda parte de String es el nombre completo del elemento, que comienza en la raíz del espacio de nombres. El nombre del elemento, los tipos contenedores y el espacio de nombres se separan mediante puntos. Si el propio nombre del elemento contiene puntos, éstos se reemplazan por el signo (#). Se supone que ningún elemento contiene un signo # directamente en su nombre. Por ejemplo, el nombre completo del constructor de String sería System.String.#ctor.

Para propiedades y métodos, si existen argumentos para el método, la lista de argumentos que se encuentra entre paréntesis aparece a continuación. Si no existen argumentos, no se escribe ningún paréntesis. Los argumentos se separan por comas. La codificación de cada argumento indica directamente cómo se codifica en una firma de .NET Framework.

Ejemplo

Los siguientes ejemplos muestran cómo se generarían las cadenas de id. para una clase y sus miembros:

VB

Namespace SampleNamespace

''' <summary>Signature is ''' "T:SampleNamespace.SampleClass" ''' </summary> Public Class SampleClass

''' <summary>Signature is ''' "M:SampleNamespace.SampleClass.#ctor" ''' </summary>

Page 35: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

Public Sub New() End Sub

''' <summary>Signature is ''' "M:SampleNamespace.SampleClass.#ctor(System.Int32)" ''' </summary> Public Sub New(ByVal i As Integer) End Sub

''' <summary>Signature is ''' "F:SampleNamespace.SampleClass.SampleField" ''' </summary>

Public SampleField As String

''' <summary>Signature is ''' "F:SampleNamespace.SampleClass.SampleConstant" ''' </summary> Public Const SampleConstant As Integer = 42

''' <summary>Signature is ''' "M:SampleNamespace.SampleClass.SampleFunction" ''' </summary> Public Function SampleFunction() As Integer End Function

''' <summary>Signature is ''' "M:SampleNamespace.SampleClass. ''' SampleFunction(System.Int16[],System.Int32[0:,0:])" ''' </summary> Public Function SampleFunction( ByVal array1D() As Short, ByVal array2D(,) As Integer) As Integer End Function

''' <summary>Signature is ''' "M:SampleNamespace.SampleClass. ''' op_Addition(SampleNamespace.SampleClass, ''' SampleNamespace.SampleClass)" ''' </summary> Public Shared Operator +( ByVal operand1 As SampleClass, ByVal operand2 As SampleClass) As SampleClass

Return Nothing End Operator

''' <summary>Signature is ''' "P:SampleNamespace.SampleClass.SampleProperty" ''' </summary> Public Property SampleProperty() As Integer Get End Get Set(ByVal value As Integer) End Set End Property

Page 36: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

''' <summary>Signature is ''' "P:SampleNamespace.SampleClass.Item(System.String)" ''' </summary> Default Public ReadOnly Property Item( ByVal s As String) As Integer

Get End Get End Property

''' <summary>Signature is ''' "T:SampleNamespace.SampleClass.NestedClass" ''' </summary> Public Class NestedClass End Class

''' <summary>Signature is ''' "E:SampleNamespace.SampleClass.SampleEvent(System.Int32)" ''' </summary> Public Event SampleEvent As SampleDelegate

''' <summary>Signature is ''' "T:SampleNamespace.SampleClass.SampleDelegate" ''' </summary> Public Delegate Sub SampleDelegate(ByVal i As Integer) End ClassEnd Namespace

CÓMO: CREAR DOCUMENTACIÓN XML EN VISUAL BASIC

Visual Studio 2010

En este ejemplo se muestra cómo agregar comentarios de documentación XML al código.

Nota

Es posible que su equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio incluidos en las instrucciones siguientes. La edición de Visual Studio que se tenga y la configuración que se utilice determinan estos elementos. Para obtener más información, vea Valores de configuración de Visual Studio.

Page 37: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

Para crear documentación XML para un tipo o miembro

1. En el Editor de código, coloque el cursor en la línea situada encima del tipo o miembro para el que desea crear la documentación.

2. Escriba ''' (tres comillas simples).

Se agrega una estructura XML para el tipo o miembro en el Editor de código.

3. Agregue información descriptiva entre las etiquetas adecuadas.

Nota

Si agrega líneas adicionales dentro del bloque de documentación XML, cada línea debe comenzar con '''.

4. Agregue código adicional que utilice el tipo o miembro con los nuevos comentarios de documentación XML.

IntelliSense muestra el texto de la etiqueta <summary> para el tipo o miembro.

5. Compile el código para generar un archivo XML que incluya los comentarios de la documentación. Para obtener más información, vea /doc.

PALABRAS CLAVE COMO NOMBRES DE ELEMENTOS EN CÓDIGO (VISUAL BASIC)

Visual Studio 2010

Cualquier elemento de programación (como una variable, una clase o un miembro) puede tener el mismo nombre que una palabra clave restringida. Por ejemplo, puede crear una variable denominada Loop. Sin embargo, para hacer referencia a su versión de la misma (que tiene el mismo nombre que la palabra clave restringida Loop), debe calificarla precediéndola de su espacio de nombres completo o debe encerrarla entre corchetes ([ ]), como muestra el ejemplo siguiente.

VB

' The following statement precedes Loop with a full qualification string.sampleForm.Loop.Visible = True' The following statement encloses Loop in square brackets. [Loop].Visible = True

Si no hace ninguna de ellas, Visual Basic de por supuesto el uso de la palabra clave Loopintrínseca y produce un error, como en el ejemplo siguiente:

' The following statement causes a compiler error.

Page 38: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

Loop.Visible = True

Puede utilizar corchetes al hacer referencia a formularios y controles, al declarar una variable o al definir un procedimiento con el mismo nombre que una palabra clave restringida. Puede resultar sencillo olvidarse de calificar los nombres o de ponerlos entre corchetes, y con ello provocar errores en el código y dificultar su lectura. Por este motivo, es recomendable que no utilice palabras clave restringidas como nombres de elementos de programa. Sin embargo, si una futura versión de Visual Basic define una nueva palabra clave que entra en conflicto con un nombre de formulario o de control existente, puede utilizar esta técnica en el momento de actualizar el código para trabajar con la versión nueva.

Nota

El programa también puede incluir nombres de elementos proporcionados por otros ensamblados a los que se haya hecho referencia. Si estos nombres están en conflicto con palabras clave restringidas, colocarlos entre corchetes hace que Visual Basic los interprete como elementos definidos por el programador.

ME, MY, MYBASE Y MYCLASS EN VISUAL BASIC

Visual Studio 2010

Me , My, MyBase y MyClass en Visual Basic tienen nombres similares pero finalidades diferentes. En esta tema se describe cada una de estas entidades para distinguirlas.

Me

La palabra clave Me siempre hace referencia a la instancia específica de una clase o estructura donde se está ejecutando el código. Me se comporta como una variable de objeto o de estructura que hace referencia a la instancia actual. El uso de la palabra clave Me es especialmente útil para transferir información acerca de la instancia de una clase o estructura que se está ejecutando actualmente a un procedimiento de otro módulo, estructura o clase.

Por ejemplo, suponga que dispone del siguiente procedimiento en un módulo.

Sub ChangeFormColor(FormName As Form) Randomize() FormName.BackColor = Color.FromArgb(Rnd() * 256, Rnd() * 256, Rnd() * 256)End Sub

Puede llamar a este procedimiento y pasar como argumento la instancia actual de la claseForm mediante la instrucción siguiente.

ChangeFormColor(Me)

My

Page 39: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura

La característica My proporciona acceso fácil e intuitivo a una serie de clases de .NET Framework, lo que permite que el usuario de Visual Basic interactúe con el equipo, la aplicación, la configuración, los recursos, etc.

MyBase

La palabra clave MyBase se comporta como una variable de objeto que hace referencia a la clase base de la instancia actual de una clase. MyBase suele usarse para obtener acceso a los miembros de la clase base que se reemplazan o se sombrean en una clase derivada.MyBase.New se utiliza para llamar explícitamente a un constructor de una clase base desde un constructor de una clase derivada.

MyClass

La palabra clave MyClass se comporta como una variable de objeto que hace referencia a la instancia actual de una clase tal y como se implementó originalmente. MyClass es similar aMe, pero todas las llamadas de método realizadas a través de ella se tratan como si el método fuese NotOverridable.

LIMITACIONES DE VISUAL BASICVisual Studio 2010

Las versiones anteriores de Visual Basic aplicaban límites en el código, como la longitud de los nombres de variable, el número de variables permitidas en los módulos y el tamaño de los módulos. En Visual Basic 2005 se han reducido estas restricciones, lo que proporciona mayor libertad para crear y organizar el código.

Los límites físicos dependen más de la memoria en tiempo de ejecución que de las consideraciones en tiempo de compilación. Si se utilizan prácticas de programación prudentes y las aplicaciones grandes se dividen en varias clases y módulos, hay muy pocas probabilidades de encontrar una limitación interna en Visual Basic.

Las siguientes son algunas limitaciones que podría encontrar en casos extremos:

Longitud del nombre. Hay un número de caracteres máximo para el nombre de cada elemento de programación declarado. Este máximo se aplica a toda la cadena de calificación si el nombre del elemento está completo. Vea Nombres de elementos declarados (Visual Basic).

Longitud de la línea. En una línea física de código fuente, hay un máximo de 65535 caracteres. La línea de código fuente lógica puede ser más larga si se utilizan caracteres de continuación de línea. Vea Cómo: Interrumpir y combinar instrucciones en código (Visual Basic).

Dimensiones de matriz. Hay un número máximo de dimensiones que se pueden declarar para una matriz. Esto limita cuántos índices se pueden utilizar para especificar un elemento de matriz. Vea Dimensiones de matrices en Visual Basic.

Longitud de cadena. Hay un número máximo de caracteres Unicode que se pueden almacenar en una sola cadena. Vea String (Tipo de datos, Visual Basic).

Longitud de cadena del entorno. Hay un máximo de 32768 caracteres para cualquier cadena del entorno que se utilice como argumento de la línea de comandos. Ésta es una limitación de todas las plataformas. Vea Cómo: Obtener acceso a argumentos de la línea de comandos (Visual Basic).

Page 40: 1.VB.guia de Programacion.convencionesDeCodigoYEscritura