Función con parametro sin tipo de dato

Iniciado por Shell Root, 14 Septiembre 2012, 06:53 AM

0 Miembros y 1 Visitante están viendo este tema.

Shell Root

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
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

USLO

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,..)

Novlucker

O pasas un object como parámetro, o bien utilizas un método genérico. Te recomiendo este último

Código (csharp) [Seleccionar]
class Program
{
static void Main(string[] args)
{
Console.WriteLine(MetodoGenerico<int>(5));
Console.ReadKey();
}

static string MetodoGenerico<T>(T parametro)
{
return typeof(T).ToString();
}
}


Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

Shell Root

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.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

lanetica

Cita de: 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.

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.

Novlucker

 
Código (csharp) [Seleccionar]
public static T MetodoGenerico<T>(T parameter){
return parameter;
}



Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein