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

Public sub new()?

Estas en el tema de Public sub new()? en el foro de .NET en Foros del Web. Hola, esta es la primer vez que posteo en este foro ya que estoy necesitando ayuda por que me e trancado programando. Estoy programando en ...
  #1 (permalink)  
Antiguo 27/06/2010, 16:16
 
Fecha de Ingreso: junio-2010
Mensajes: 2
Antigüedad: 13 años, 10 meses
Puntos: 0
Public sub new()?

Hola, esta es la primer vez que posteo en este foro ya que estoy necesitando ayuda por que me e trancado programando.

Estoy programando en vb.net y tengo un public sub new

Public Sub New()
mEvento = New clsEvento
mPaquete = New clsPaquete

pero me subraya el new clsEvento y new clsPaquete y me dice que no se a especificado ningún argumento para los parámetros y me muestra todos los parámetros.

Error 2 No se ha especificado ningún argumento para el parámetro 'pCantidad' de 'Public Sub New(pID As Integer, pFecha As Date, pNombre As String, pDireccion As String, pTipo As Integer, pCantidad As Integer, pCostoFijo As Double, pCostoTotal As Double, pColPaquetesExtra As System.Collections.ArrayList)'.

Y si me sale para todos los parámetros, si borro el new y solamente dejo:
Public Sub New()
mEvento = clsEvento
mPaquete = clsPaquete

desaparece el error, pero yo necesito que sea new (o eso me parese).

Haber si pueden ayudarme, si es necesario poner mas código o mas especificaciones avisar.
  #2 (permalink)  
Antiguo 27/06/2010, 16:24
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Public sub new()?

Significa que si estás sobrecargando el New en una clase, toda instancia creada de esa clase requiere que le pases los parámetros indicados en ese New, por cuanto ese sub reemplaza al heredado por Object o cualquier otra clase de la que descienda.
¿Se entiende?
Si haces
Código vb.net:
Ver original
  1. Class UnaClase
  2.   Public Sub New(ByVal valor As Integer)
  3.   End Sub
  4. End Class
Para crear un objeto de esa clase debes pasarle un Integer o una variable de esa clase:
Código vb.net:
Ver original
  1. Dim oUnObjeto As New UnaClase(987)
  2. Dim a As Integer = 87
  3. Dim oOtroObjeto As New UnaClase(a)
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 27/06/2010, 16:43
 
Fecha de Ingreso: junio-2010
Mensajes: 2
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Public sub new()?

no, no entendi.

Tu dices que tengo que pasar algo dentro del public sub new ( y el valor que le paso)

yo tengo:
Código vb:
Ver original
  1. Public Class clsEmpresa
  2.     Public Sub New()
  3.         mEvento = New clsEvento
  4.     End Sub

y:
Código vb:
Ver original
  1. Public Class clsEvento
  2.     Private mID As Integer
  3.     Private mFecha As Date
  4.     Private mNombre As String
  5.     Private mDireccion As String
  6.     Private mTipo As Integer
  7.     Private mCantidad As Integer
  8.     Private mCostoFijo As Double
  9.     Private mCostoTotal As Double
  10.     Private mColPaquetesExtra As ArrayList
  11.     Public Sub New(ByVal pID As Integer, ByVal pFecha As Date, ByVal pNombre As String, ByVal pDireccion As String, ByVal pTipo As Integer, ByVal pCantidad As Integer, ByVal pCostoFijo As Double, ByVal pCostoTotal As Double, ByVal pColPaquetesExtra As ArrayList)
  12.         ID = pID
  13.         Fecha = pFecha
  14.         Nombre = pNombre
  15.         Direccion = pDireccion
  16.         Tipo = pTipo
  17.         Cantidad = pCantidad
  18.         CostoFijo = pCostoFijo
  19.         CostoTotal = pCostoTotal
  20.         PaquetesExtra = pColPaquetesExtra
  21.     End Sub

No entiendo que es lo que le tengo que pasar al publi sub new dentro de los ().
  #4 (permalink)  
Antiguo 31/01/2013, 12:50
 
Fecha de Ingreso: enero-2013
Mensajes: 1
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Public sub new()?

Código HTML:
Si no mal entiendo, hay 2 problemas:

1. El sub New de la clase clsEmpresa no tiene variables al llamarlo, es innecesario poner el sub New al llamarlo, solo necesitas declarar un sub que "inicialize" los elementos, por ejemplo:
[CODE]Public Shared Sub [b]InicializeClass[/b](ByVal pID As Integer, ByVal pFecha As Date, ByVal pNombre As String, ByVal pDireccion As String, ByVal pTipo As Integer, ByVal pCantidad As Integer, ByVal pCostoFijo As Double, ByVal pCostoTotal As Double, ByVal pColPaquetesExtra As ArrayList)
    'Tu codigo...
End Sub[/CODE]

2. No especificaste ningun argumento para clsEvento, tenes que ponerles un valor primero

Espero que ayude :contento:

Etiquetas: public
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 18:51.