Foros del Web » Programación para mayores de 30 ;) » .NET »

Enviar y Recibir un Array de una Clase como Parametro de un Metodo de Otra Clase

Estas en el tema de Enviar y Recibir un Array de una Clase como Parametro de un Metodo de Otra Clase en el foro de .NET en Foros del Web. Buenas Horas a todos. Les comento mi problema... Tengo dos clases .... Class1 y Class2 de la siguiente forma: Código: Public Class Class1 Private _sNumero ...
  #1 (permalink)  
Antiguo 03/10/2008, 16:39
 
Fecha de Ingreso: agosto-2008
Mensajes: 71
Antigüedad: 15 años, 8 meses
Puntos: 0
Enviar y Recibir un Array de una Clase como Parametro de un Metodo de Otra Clase

Buenas Horas a todos.
Les comento mi problema...
Tengo dos clases .... Class1 y Class2 de la siguiente forma:
Código:
Public Class Class1
    Private _sNumero As String
'  con su respectivo Get y Set 
......
End Class

Public Class Class2
     Public Function nuevo( ByVal arrayClass1 As Class1()) As Long
             For i = 0 To UBound(arrayClass1) ' PREVIAMENTE DECLARO EL i
                     ' arrayClass1(i) = New Class1()
                      MessageBox.Show(arrayClass1(i).numero)
             Next
'El problema surge aca. si lo pongo asi como esta me dice algo como q no tengo instanciado arrayClass1(i)
' y si activo el  "arrayClass1(i) = New Class1() " pasa normal. pero como que no captura el valor de la propiedad que deseo mostrar como que creara una nueva instancia y muestra un "vacio"
    End Function
End Class
En un boton de un Win formulario tengo algo como esto
Código:
Private Sub Button2_Click( ... .) Handles Button2.Click
        Dim eq As New Class2
        Dim c As Class1()     ' Este es el array q quiero llenar y enviar
Dim i As Integer

        i = 0
        ReDim c(i)
        c(i) = New Class1
        c(i).numero = "NUMERO 0"

        i = 1
        ReDim c(i)
        c(i) = New Class1
        c(i).numero = "NUMERO 1"

        eq.nuevo(c) 
 ' QUIERO MANDAR COMO PARAMETRO UN ARRAY DE LA CLASE Class1.   HASTA ESTE PUNTO TODO ESTA PERFECTO.... EL LLENADO Y EL ENVIO. EL PROMEMA OCURRE CUANDO RECIBE EL ARRAY
End Sub
Mi pregunta es como poder Recorrer los valores de ese Array que envio como parametro ya que me pide primero instanciarlo .....

Espero haber sido claro con mi pregunta....
Gracias por sus respuestas
  #2 (permalink)  
Antiguo 04/10/2008, 05:40
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 23 años, 6 meses
Puntos: 19
Respuesta: Enviar y Recibir un Array de una Clase como Parametro de un Metodo de Otra

Lo que pasa es que en tu clase como la tenes definida para podes acceder a las propiedades y metodos tenes que hacer primero una instancia de tu clase.

Lo que podes hacer si queres usar una metodo de tu clase sin necesidad de crear una instancia es definir tus metodos como "Shared" entonces no necesitar crear una instancia.

Saludos
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!
  #3 (permalink)  
Antiguo 04/10/2008, 08:28
 
Fecha de Ingreso: agosto-2008
Mensajes: 71
Antigüedad: 15 años, 8 meses
Puntos: 0
De acuerdo Respuesta: Enviar y Recibir un Array de una Clase como Parametro de un Metodo de Otra

Cita:
Iniciado por Trulala de cordoba Ver Mensaje
Lo que pasa es que en tu clase como la tenes definida para podes acceder a las propiedades y metodos tenes que hacer primero una instancia de tu clase.

Lo que podes hacer si queres usar una metodo de tu clase sin necesidad de crear una instancia es definir tus metodos como "Shared" entonces no necesitar crear una instancia.

Saludos
Muchas Gracias por tu atencion.... ayer toda la noche intrigado por esto, estuve revisando y pues detecté un error que logicamente es de un principiante como yo... el problema estaba al momento de llenar el array. al hacer Redim (faltaba poner Redim Preserve)... puse eso y se arreglo todo. dejo el codigo.

Código:
Public Class Class1
    Private _sNumero As String
'  con su respectivo Get y Set 
......
End Class

Public Class Class2
     Public Function nuevo( ByRef arrayClass1 As Class1()) As Long
             For i = 0 To UBound(arrayClass1) ' PREVIAMENTE DECLARO EL i
                 MessageBox.Show(arrayClass1(i).numero)
             Next
     
            ' Dim o As Class1
            ' For Each o In arrayClass1
             '          MessageBox.Show(o.numero)
            ' Next
            ' otra forma

    End Function
End Class
y aca viene la correccion

Código:
Private Sub Button2_Click( ... .) Handles Button2.Click
        Dim eq As New Class2
        Dim c As Class1()     ' Este es el array q quiero llenar y enviar
        Dim i As Integer

        i = 0
        ReDim Preserve c(i)
        c(i) = New Class1
        c(i).numero = "NUMERO 0"

        i = 1
        ReDim Preserve c(i)
        c(i) = New Class1
        c(i).numero = "NUMERO 1"

        eq.nuevo(c) 

End Sub
Ahora tengo otro incoveniente con un Listview (Item seleccionado) pero lo voy a postear en otro . por q he revisado en las FAQ y no he dado.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:54.