Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Shell Root en 14 Septiembre 2012, 06:53 am



Título: Función con parametro sin tipo de dato
Publicado por: Shell Root en 14 Septiembre 2012, 06:53 am
Supongamos que tenemos una función cualquiera, y que obligatoriamente debe tener 1 parametro, pero puede ser de cualquier tipo de dato, como hago para declararlo?


jajaja que cambio de PHP a C# :S


Título: Re: Función con parametro sin tipo de dato
Publicado por: USLO en 14 Septiembre 2012, 12:27 pm
Hola Shell.
Quieres decir ,no definir el tipo de Variable y luego usar un tipo de dato en esa funcion?

Osea llamar a una funcion cualquiera mas parametro(String,int,long,..)


Título: Re: Función con parametro sin tipo de dato
Publicado por: Novlucker en 14 Septiembre 2012, 15:20 pm
O pasas un object como parámetro, o bien utilizas un método genérico. Te recomiendo este último

Código
  1. class Program
  2. {
  3. static void Main(string[] args)
  4. {
  5. Console.WriteLine(MetodoGenerico<int>(5));
  6. Console.ReadKey();
  7. }
  8.  
  9. static string MetodoGenerico<T>(T parametro)
  10. {
  11. return typeof(T).ToString();
  12. }
  13. }

Saludos


Título: Re: Función con parametro sin tipo de dato
Publicado por: Shell Root en 15 Septiembre 2012, 00:10 am
El problema que veo, es que, el retorno de datos tambien debería de ser dinamico :S, pero ya con la de @Novlucker me defiendo y al momento de usarla pues usar una conversión.


Título: Re: Función con parametro sin tipo de dato
Publicado por: lanetica en 15 Septiembre 2012, 08:08 am
El problema que veo, es que, el retorno de datos tambien debería de ser dinamico :S, pero ya con la de @Novlucker me defiendo y al momento de usarla pues usar una conversión.

Teóricamente puedes definir que la función retorne el tipo object. Posteriormente una vez obtenido el resultado, debes realizar un cast al tipo que esperes.


Título: Re: Función con parametro sin tipo de dato
Publicado por: Novlucker en 16 Septiembre 2012, 19:46 pm
 
Código
  1. public static T MetodoGenerico<T>(T parameter){
  2. return parameter;
  3. }


Saludos