Numero variable de parametros

16/05/2006 - 16:27 por Carolina Alvarez | Informe spam
Hola todos.

Soy nueva y tengo que hacer un metodo de una clase que tiene 5 parametros
pero del 2 en adelante son opcionales. Segun he leido deberia repetir
varias veces el metodo con overload pero mi pregunta es si se puede hacer en
un solo metodo detectando si dichos parametros no se pasaron.

Gracias.

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
16/05/2006 - 08:32 | Informe spam
"Carolina Alvarez" wrote in message
news:%
Soy nueva y tengo que hacer un metodo de una clase que tiene 5 parametros
pero del 2 en adelante son opcionales. Segun he leido deberia repetir
varias veces el metodo con overload pero mi pregunta es si se puede hacer
en un solo metodo detectando si dichos parametros no se pasaron.



Puedes usar un número variable de parámetros en un método usando la
palabra clave "params". El inconveniente es que no te controla en tiempo de
compilación el número y tipo de parámetros (a no ser que sean todos del
mismo tipo).

public void MiFuncion(string parametro1, int parametro2, params object[]
restoParametros)
{
int numRecibidos = restoParametros.Length;
if (numRecibidos>0)
{
string parametro3 = (string)restoParametros[0];
... etc ...
}
}

Ahora puedes llamar a la función asi:
MiFuncion("a", 1);
Y tambien asi:
MiFuncion("a", 1, "b", 7, 8);
Respuesta Responder a este mensaje
#2 Carolina Alvarez
17/05/2006 - 01:18 | Informe spam
Gracias. Es exactamente lo q buscaba.


"Alberto Poblacion"
escribió en el mensaje news:
"Carolina Alvarez" wrote in message
news:%
Soy nueva y tengo que hacer un metodo de una clase que tiene 5 parametros
pero del 2 en adelante son opcionales. Segun he leido deberia repetir
varias veces el metodo con overload pero mi pregunta es si se puede hacer
en un solo metodo detectando si dichos parametros no se pasaron.



Puedes usar un número variable de parámetros en un método usando la
palabra clave "params". El inconveniente es que no te controla en tiempo
de compilación el número y tipo de parámetros (a no ser que sean todos del
mismo tipo).

public void MiFuncion(string parametro1, int parametro2, params
object[] restoParametros)
{
int numRecibidos = restoParametros.Length;
if (numRecibidos>0)
{
string parametro3 = (string)restoParametros[0];
... etc ...
}
}

Ahora puedes llamar a la función asi:
MiFuncion("a", 1);
Y tambien asi:
MiFuncion("a", 1, "b", 7, 8);



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida