我是一個非常新的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