Soy un nuevo C#. Solo estoy jugando con eso. No para un propósito real.Lambda Función anónima como parámetro
void makeOutput(int _param)
{
Console.WriteLine(_param.ToString());
}
//...
// Somewhere in a code
{
makeOutput( /* some not c# code for an example for what do I want */ function : int() { return 0; } );
}
¿Es posible utilizar funciones anónimas REALES (significa devolver el resultado)?
no quiero utilizar delegados como
// Somewhere in a code
{
Func<int> x =() => { return 0; };
makeOutput(x())
}
También yo no quiero cambiar el método de tipo de parámetro como
void makeOutput(Func<int> _param)
{
}
Eso es decisión muy común.
Todo está bien. Solo entendí que quería cosas imposibles. Quería declarar la función anónima y ejecutarla en el mismo lugar. Nota: declarando DIRECTO y llamada DIRECTA sin contenedor genérico.
// flash-like (as3) code /// DOES NOT COMPILE
makeOutput( (function : int(){ return 0; })() );
No entiendo la pregunta. ¿Puedes reformular o usar algún psudocódigo? –
¿Por qué no quieres cambiar el tipo de parámetro? – SLaks
¿Porque podría querer usar simplemente un 'int' a veces? – Vercas