Duda

05/11/2003 - 23:42 por TR | Informe spam
Hola,

soy nuevo en esto de C# y tengo una duda:


public Contacto[] vercontacto()
{

return new Contacto[] {

new Contacto ("Alexis Reátegui", "alexisr@hotmail.com","5552266" ),

new Contacto ("Jorge Oblitas", "dragonsking@hotmail.com","4444466" ),

new Contacto ("Sergio Victorio", "t-sergiv@microsoft.com","3333366" ),

new Contacto ("Guino Henostroza", "guino@hotmail.com","4564433" ),

new Contacto ("Daniel Seara", "daniseara@msn.com","9987667" )

};
}


No entiendo mucho, este método devuelve un array de Contactos. Un objeto
en C# se crea con solo poner NEW ?


public class Contacto
{
public Contacto() {}

public Contacto(string nombre, string email, string fono)
{
Nombre= nombre;
Email=email;
Telefono=fono;
}
}

y aqui esta la case Contacto con el constructor que recibe los 3 campos
que se indican... pero que es public Contacto() {} , que es lo que hace...?


Saludos y Gracias

Preguntas similare

Leer las respuestas

#1 Millan Andres Sanchez Diaz
06/11/2003 - 00:12 | Informe spam
Eso es. Usas la palabra New para instanciar nuevos objetos.


Contacto() es un constructor al que no se le estan enviando parametros.
Como tu no estas poniendo codigo dentro de este constructor puedes
eliminarlo de tu programa y no pasara nada. Puedes llegar a usarlo para
inicializar algunas variables de tu clase.
Tu solo estas usando un constructor al que se le envian 3 parametros.

Millán Andrés Sánchez Díaz
Business and Technology Consultant
Tel.: (571) 6147862 - 6147983
Fax: (571) 5287076
Cel : 310- 8656566
Email:

SYS Tecnologías Integradas Ltda.
Bogota, Colombia
www.systecnologias.com

"TR" wrote in message news:
Hola,

soy nuevo en esto de C# y tengo una duda:


public Contacto[] vercontacto()
{

return new Contacto[] {

new Contacto ("Alexis Reátegui", "","5552266" ),

new Contacto ("Jorge Oblitas", "","4444466" ),

new Contacto ("Sergio Victorio", "","3333366" ),

new Contacto ("Guino Henostroza", "","4564433" ),

new Contacto ("Daniel Seara", "","9987667" )

};
}


No entiendo mucho, este método devuelve un array de Contactos. Un objeto
en C# se crea con solo poner NEW ?


public class Contacto
{
public Contacto() {}

public Contacto(string nombre, string email, string fono)
{
Nombre= nombre;
Email=email;
Telefono=fono;
}
}

y aqui esta la case Contacto con el constructor que recibe los 3 campos
que se indican... pero que es public Contacto() {} , que es lo que


hace...?


Saludos y Gracias

Respuesta Responder a este mensaje
#2 TR
06/11/2003 - 00:31 | Informe spam
Hola,

he quitado el contructor que no tiene parametros, y da error al ejecutar
la página...

Detalles de la excepción: System.InvalidOperationException: No se puede
serializar Contacto porque no tiene un constructor público predeterminado.


Saludos,



Millan Andres Sanchez Diaz escribió:
Eso es. Usas la palabra New para instanciar nuevos objetos.


Contacto() es un constructor al que no se le estan enviando parametros.
Como tu no estas poniendo codigo dentro de este constructor puedes
eliminarlo de tu programa y no pasara nada. Puedes llegar a usarlo para
inicializar algunas variables de tu clase.
Tu solo estas usando un constructor al que se le envian 3 parametros.

Millán Andrés Sánchez Díaz
Business and Technology Consultant
Tel.: (571) 6147862 - 6147983
Fax: (571) 5287076
Cel : 310- 8656566
Email:

SYS Tecnologías Integradas Ltda.
Bogota, Colombia
www.systecnologias.com

"TR" wrote in message news:

Hola,

soy nuevo en esto de C# y tengo una duda:


public Contacto[] vercontacto()
{

return new Contacto[] {

new Contacto ("Alexis Reátegui", "","5552266" ),

new Contacto ("Jorge Oblitas", "","4444466" ),

new Contacto ("Sergio Victorio", "","3333366" ),

new Contacto ("Guino Henostroza", "","4564433" ),

new Contacto ("Daniel Seara", "","9987667" )

};
}


No entiendo mucho, este método devuelve un array de Contactos. Un objeto
en C# se crea con solo poner NEW ?


public class Contacto
{
public Contacto() {}

public Contacto(string nombre, string email, string fono)
{
Nombre= nombre;
Email=email;
Telefono=fono;
}
}

y aqui esta la case Contacto con el constructor que recibe los 3 campos
que se indican... pero que es public Contacto() {} , que es lo que



hace...?


Saludos y Gracias






Respuesta Responder a este mensaje
#3 Tristan
07/11/2003 - 09:59 | Informe spam
ojo! El constructor sin parámetros no puede eliminarse!!!
Aunque no tenga código, puede ser necesario.

Una clase tiene automáticamente definido un constructor
sin parámetros sin código, siempre y cuando NO EXISTA
otro constructor en la clase. En cuanto se defina
cualquier constructor, este constructor por defecto
desaparece.

La clase anterior tal cono estaba escrita, permite estas
dos instanciaciones:

Contacto c1 = new Contacto (
"Jorge Oblitas", "", "4444466");

Contacto c2 = new Contacto();

Si se elimina el constructor sin parámetros, la segunda
daría error.
Respuesta Responder a este mensaje
#4 TR
07/11/2003 - 12:51 | Informe spam
Muchas gracias,

pero en el codigo que he puesto anteriormente, no instancio un objeto
sin parametros, por lo tanto el constructor sin parametros no se
utiliza. Pero le borro y da un error... que no existe el constructor por
defecto. (segun usted, en cuanto hay otro constructor, el de por defecto
desaparece)

Saludos,



Tristan escribió:
ojo! El constructor sin parámetros no puede eliminarse!!!
Aunque no tenga código, puede ser necesario.

Una clase tiene automáticamente definido un constructor
sin parámetros sin código, siempre y cuando NO EXISTA
otro constructor en la clase. En cuanto se defina
cualquier constructor, este constructor por defecto
desaparece.

La clase anterior tal cono estaba escrita, permite estas
dos instanciaciones:

Contacto c1 = new Contacto (
"Jorge Oblitas", "", "4444466");

Contacto c2 = new Contacto();

Si se elimina el constructor sin parámetros, la segunda
daría error.
Respuesta Responder a este mensaje
#5 Tristan
09/11/2003 - 15:04 | Informe spam
TR, en efecto, tú no utuilizas el constructor sin parámetros, pero
internamente .net lo utiliza para ciertas cosas, por ejemplo en la
serialización.

Juan Carlos Badiola
MVP - C#
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida