Test Foro de elhacker.net SMF 2.1

Programación => Programación General => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: TheGhost(Z) en 10 Febrero 2011, 19:35 PM

Título: Clases
Publicado por: TheGhost(Z) en 10 Febrero 2011, 19:35 PM
Hola, Alguien sabe como se puede hacer esta clase:


Dim miPerro As New Perro
With miPerro
     .Nombre = "Mario"
     .Raza = "Boxer"
     .Edad = 1
End With
Perros.Agregar(Perro)


La clase perros lo hago sin problema.  lo que no puede hacer es como enviar la clase perro. como hago para que una propiedad de la clase perros reciba como parametro otra clase. :( :(

Título: Re: Clases
Publicado por: Edu en 10 Febrero 2011, 19:57 PM
Escribe todo el codigo mejor porque no se entendera bien ya q esta la clase Perro y la clase Perros por lo q has escrito
Título: Re: Clases
Publicado por: seba123neo en 11 Febrero 2011, 03:36 AM
Hola, supongamos que la clase Perro es asi:

Código (vbnet) [Seleccionar]
Public Class Perro

    Private _Nombre As String
    Private _Raza As String

    Public Sub New()
        _Nombre = ""
        _Raza = ""
    End Sub

    Public Property Nombre() As String
        Get
            Return Me._Nombre
        End Get
        Set(ByVal value As String)
            Me._Nombre = value
        End Set
    End Property

    Public Property Raza() As String
        Get
            Return Me._Raza
        End Get
        Set(ByVal value As String)
            Me._Raza = value
        End Set
    End Property
End Class


en el formulario podes tener una lista generica (o tambien una coleccion) del tipo Perro, o sea la collecion va a almacenar objetos de tipo Perro, y despues podes recorrerla y sacar los datos.

Código (vbnet) [Seleccionar]
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim vListaPerros As New List(Of Perro)

        Dim vPerro1 As New Perro

        vPerro1.Nombre = "cachito 1"
        vPerro1.Raza = "mestiza 1"
        vListaPerros.Add(vPerro1)

        Dim vPerro2 As New Perro

        vPerro2.Nombre = "cachito 2"
        vPerro2.Raza = "mestiza 2"
        vListaPerros.Add(vPerro2)

        Dim vPerro3 As New Perro

        vPerro3.Nombre = "cachito 3"
        vPerro3.Raza = "mestiza 3"
        vListaPerros.Add(vPerro3)

        For Each perrito As Perro In vListaPerros
            Debug.WriteLine("Nombre del Perro: " & perrito.Nombre)
            Debug.WriteLine("Raza del Perro: " & perrito.Raza)
        Next perrito

    End Sub
End Class


saludos.
Título: Re: Clases
Publicado por: TheGhost(Z) en 14 Febrero 2011, 16:06 PM
Es una solución, pero no como la quería..

Hasta aquí lo he hecho sin problemas


Dim myPerro As New Perro

myPerro.Cantidad()        'Cantidad de perros en la base de datos
myPerro.Perro(254).Nombre 'Nombre del perro cuyo id es 254
myPerro.Agregar("Pedro","boxer",1) 'Agrega un perro más a la base de datos



Lo que no me gusta es la manera de agregar a un perro. es decir me gustaría cambiar esto:


Dim myPerro As New Perro
myPerro.Agregar("Pedro","boxer",1) 'Agrega un perro más a la base de datos


por este otro que se ve mas bonito:


Dim p As Perro
     .Nombre = "Pedro"
     .Raza= "Boxer"
     .Edad = 1
End With

dim Perros As New Perros
Perros.Agregar(p)



Título: Re: Clases
Publicado por: Edu en 14 Febrero 2011, 18:15 PM
Estas entreverando todo creo o solo nos dejas una parte del codigo..