我是一个非常新的C#。只是玩弄它。不是为了一个真正的目的。Lambda Anonymous函数作为参数
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; } );
}
是否可以使用REAL匿名函数(意味着返回结果)?
我不想使用委托如
// Somewhere in a code
{
Func<int> x =() => { return 0; };
makeOutput(x())
}
此外,我不希望改变方法的参数类型,如
void makeOutput(Func<int> _param)
{
}
这是非常普遍的决定。
一切都很好。我只是明白我想要不可能的事情。我想声明匿名函数并在相同的地方执行它。注意:DIRECT声明和直接调用没有通用包装器。
// flash-like (as3) code /// DOES NOT COMPILE
makeOutput( (function : int(){ return 0; })() );
我不明白的问题。你可以改述或使用一些psudocode? –
为什么你不想改变参数类型? – SLaks
因为他有时可能只想使用'int'? – Vercas