Solo hay tres formas de organizar una aplicación VB.NET.
Pero la mayoría de los artículos técnicos asumen que ya sabes todo sobre ellos. Si usted es uno de los muchos que aún tiene algunas preguntas, puede leer más allá de los fragmentos confusos e intentar resolverlo de todos modos. Y si tienes un lote con el tiempo, puede comenzar a buscar en la documentación de Microsoft:
En ese mismo momento. Alguna pregunta?
Para ser un poco más justos con Microsoft, tienen páginas y páginas (y más páginas) de información sobre todas estas que puede leer. Y tienen que ser lo más exactos posible porque establecen el estándar. En otras palabras, la documentación de Microsoft a veces se lee como un libro de leyes porque es un libro de leyes.
Pero si solo estás aprendiendo .NET, ¡puede ser muy confuso! Tienes que empezar por alguna parte. Comprender las tres formas fundamentales en que puede escribir código en VB.NET es un buen lugar para comenzar.
Puede escribir código VB.NET utilizando cualquiera de estos tres formularios. En otras palabras, puede crear un Aplicación de consola en VB.NET Express y escribe:
Módulo Módulo1
Sub principal()
MsgBox ("¡Esto es un módulo!")
End Sub
Módulo final
Clase Clase1
Sub principal()
MsgBox ("Esto es una clase")
End Sub
Clase final
Estructura Struct1
Dim myString As String
Sub principal()
MsgBox ("Esto es una estructura")
End Sub
Estructura final
Esto no hace ninguna sentido como un programa, por supuesto. El punto es que no obtienes un error de sintaxis, por lo que es un código VB.NET "legal".
Estas tres formas son la única forma de codificar la raíz de abeja reina de todo .NET: el objeto. El único elemento que interrumpe la simetría de las tres formas es la declaración: Dim myString As String. Eso tiene que ver con que una Estructura sea un "tipo de datos compuesto" como Microsoft afirma en su definición.
Otra cosa a notar es que los tres bloques tienen un Sub principal() en ellos. Uno de los principios más fundamentales de la POO generalmente se llama encapsulamiento. Este es el efecto de "caja negra". En otras palabras, debe poder tratar cada objeto de forma independiente y eso incluye el uso de subrutinas con nombres idénticos si desea.
Las clases son el lugar 'correcto' para comenzar porque, como señala Microsoft, "una clase es un componente fundamental de la programación orientada a objetos (OOP)". De hecho, algunos autores tratan los módulos y estructuras como clases especiales de clases. Una clase está más orientada a objetos que un módulo porque es posible instanciar (haga una copia de) una clase pero no un módulo.
En otras palabras, puedes codificar ...
Formulario de clase pública1
Private Sub Form1_Load (_
Remitente ByVal como System.Object, _
ByVal e As System.EventArgs) _
Maneja MyBase.Load
Dim myNewClass As Class1 = New Class1
myNewClass.ClassSub ()
End Sub
Clase final
(Se enfatiza la instanciación de clase).