Parametros opcionales y sobrecarga

05/10/2009 - 20:17 por Gina Solís | Informe spam
Al tener parametros opcionales en un metodo implica que ya no va a ser
necesario nunca definir sobrecargas de los metodos ?
Nota: vs2010

Preguntas similare

Leer las respuestas

#6 Alberto Poblacion
06/10/2009 - 07:46 | Informe spam
<Esteban> wrote in message news:
Gina se refiere es a los parámetros opcionales o auto-inicializados que se
usarán en .NET 4.0 (VS2010).



No necesariamente el .NET 4.0, sino únicamente el C# 4.0. Puesto que son
solo azúcar sintáctico para el compilador, pero no requieren soporte
específico por parte del Framework, con C# 4.0 será posible usar los
parámetros opcionales en el código fuente incluso aunque se use el
"multi-targetting" para generar un ejecutable destinado a una versión
anterior del Framework.
Respuesta Responder a este mensaje
#7 Gina Solís
06/10/2009 - 14:30 | Informe spam
Se puede suponer entonces que al compilar se transforman en sobrecargas
normales de todos modos?


"Alberto Poblacion"
escribió en el mensaje news:
<Esteban> wrote in message news:
Gina se refiere es a los parámetros opcionales o auto-inicializados que
se usarán en .NET 4.0 (VS2010).



No necesariamente el .NET 4.0, sino únicamente el C# 4.0. Puesto que
son solo azúcar sintáctico para el compilador, pero no requieren soporte
específico por parte del Framework, con C# 4.0 será posible usar los
parámetros opcionales en el código fuente incluso aunque se use el
"multi-targetting" para generar un ejecutable destinado a una versión
anterior del Framework.

Respuesta Responder a este mensaje
#8 Gina Solís
06/10/2009 - 14:31 | Informe spam
Exacto, a eso me refería.

<Esteban> escribió en el mensaje
news:

Gina se refiere es a los parámetros opcionales o auto-inicializados que se
usarán en .NET 4.0 (VS2010).


"xcal" <d22> wrote in message
news:

void Metodo(int a=0, string b="")
...
Serían llamadas validas:
Metodo();
Metodo(25);
Metodo(25,"prueba");
Metodo(b:"prueba"); //se omite el parametro a



te falta el cuerpo de la función
tendrias que especificar cada caso,

a veces de un metodo es mas facil
sino el otro

saludos
Carlos







Respuesta Responder a este mensaje
#9 Alberto Poblacion
06/10/2009 - 16:28 | Informe spam
"Gina Solís" wrote in message
news:
Se puede suponer entonces que al compilar se transforman en sobrecargas
normales de todos modos?



Habría que probar a desensamblar un programa compilado, a ver qué es lo
que hace el compilador. No hay que olvidar que estos parámetros existen hace
mucho tiempo en VB.Net, por lo que ya debe de existir alguna convención en
cuanto a cuál es la manera de traducirlos en MSIL. Cabe esperar que el
compilador de C# siga los mismos convenios, para compatibilizar el código
compilado con el VB.
Respuesta Responder a este mensaje
#10 xcal
06/10/2009 - 23:05 | Informe spam
bueno, lo que yo entiendo es que solo depende del caso

ejemplo,
si tu funcion que depende de 3 parametros hace cosas muy diferentes
que si llamas solo 2 paramentros, entonces vale la pena considerar
sobrecarga, mientras que si en cada caso hacen casi lo mismo, pues
en muchos casos no tendras que meter todo facilmente dentro de un
solo bloque de codigo de funcion. Y es que hay 2 extremos me parece,
uno es que el codigo de la funcion varie mucho dependiendo de cuantos
parametros llames, y otro es que llames muchos o pocos parametros
y el codigo de la funcion es casi el mismo, no hay que rayarse la cabeza
reescribiendo codigo sino simplemente considerar parametros opcionales.

bueno, es lo que entiendo, si alguien puede dar mejor opinion, muy bien

espero ayude
Carlos.


"Gina Solís" escribió en el mensaje
news:%
Exacto, a eso me refería.

<Esteban> escribió en el mensaje
news:

Gina se refiere es a los parámetros opcionales o auto-inicializados que
se usarán en .NET 4.0 (VS2010).


"xcal" <d22> wrote in message
news:

void Metodo(int a=0, string b="")
...
Serían llamadas validas:
Metodo();
Metodo(25);
Metodo(25,"prueba");
Metodo(b:"prueba"); //se omite el parametro a



te falta el cuerpo de la función
tendrias que especificar cada caso,

a veces de un metodo es mas facil
sino el otro

saludos
Carlos











Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida