Class en Vb.Net, como utilizarlas

De VB.Net tengo una duda, estoy empezando a usar VB.Net, tengo ya lo basico, pero quisiera saber como manipulo a una clase creada en este lenguaje, por ejemplo, creo la siguiente clase:

Public Class Contacto
'Propiedades
Private Id As String
Private Nombre As String
'constructor
Public Sub New(ByVal Id_N As Integer, ByVal Nomb As String)
 Id = Id_N
 Nombre = Nomb
End Sub
End Class

Es un ejemplo muy sencillo, quiero crear multiples clases en tiempo de ejecución para almacenar informacion de contactos, lo cual lo hago de la siguiente manera, tengo dos textbox donde se ingresa el id y nombre del contacto y un boton el cual tiene el siguiente codigo:

Dim Id as Integer = textbox1.text

Dim Nombre as String = textbox2.text

Dim Nvo_Contacto as New Contacto(Id,Nombre)

Hasta ahí todo bien, el problema viene cuando quiero "referirme" a esos contactos creados en tiempo de ejecución, por ejemplo si quiero utilizar el contacto con el Id 5, ¿el cuál ha sido creado anteriormente como lo hago? ¿Tengo qué recorrer las clases creadas? ¿Si as así como le hago? ¿O cómo puedo referirme a un contacto en especifico?

1 Respuesta

Respuesta
1

Debes colocar las variables públicas, al tenerlas privadas solo las puedes ver dentro de la clase...

Ejemplo:

Public Class Form1
Private Nvo_Contacto As Contacto
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim Id As Integer = textbox1.text
Dim Nombre As String = textbox2.text
Nvo_Contacto = New Contacto(Id, Nombre)
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
MessageBox.Show("Contacto ID: " & Nvo_Contacto.Id & ", Nombre: " & Nvo_Contacto.Nombre)
End Sub
End Class

'Tu Clase
Public Class Contacto
'Propiedades
Public Id As String 'Variable Cambiada a pública
Public Nombre As String 'Variable Cambiada a pública
'constructor
Public Sub New(ByVal Id_N As Integer, ByVal Nomb As String)
Id = Id_N
Nombre = Nomb
End Sub
End Class

Public Class Form1
    Private Nvo_Contacto As Contacto
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim Id As Integer = textbox1.text
        Dim Nombre As String = textbox2.text
        Nvo_Contacto = New Contacto(Id, Nombre)
    End Sub
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        MessageBox.Show("Contacto ID: " & Nvo_Contacto.Id & ", Nombre: " & Nvo_Contacto.Nombre)
    End Sub
End Class
'Tu Clase
Public Class Contacto
    'Propiedades
    Public Id As String 'Variable cambiada a pública
    Public Nombre As String 'Variable cambiada a pública
    'constructor
    Public Sub New(ByVal Id_N As Integer, ByVal Nomb As String)
        Id = Id_N
        Nombre = Nomb
    End Sub
End Class

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas