答えて
わから:すなわち(無効なC#コード)で
。
new Action(() => { Console.WriteLine("Hello World"); })();
これはすべきことです。
あなたがこれを行うことができるようになります。
Action runMe =() => { Console.WriteLine("Hello World"); };
runMe();
若干異なる装ってちょうど他の2つの答えであるもう一つの「オプション」、:
((Action)(() => { Console.WriteLine("Hello World"); }))();
理由、として直接phoogのコメントから取得しました:
...あなたはコンパイラに言ったことはありませんあなたは
Action
またはExpression<Action>
が欲しいです。 のラムダ式をAction
にキャストした場合は、Invokeを呼び出すか、メソッド呼び出し構文()を使用して呼び出すことができます。
どのようにこの例をそれは確かしかし醜い取得し、私はそれが名前のない再帰のために使用することはできないとして、このフォームは、これまでに便利な場所を知らない...
Yコンビネータを使用して、これで再帰を行うことができます:' public delegate T Recursive
をここです使用することができる。サードパーティAPIがどのように構造化されているので、関数として書くことができない数行のコードの結果でコンストラクタを初期化したいとします。
他の場所では決して呼び出されないスタンドアロン機能を書くのを防ぐための単なるグルーコードです。私はAction
の代わりにFunc
を使用していますが、答えはuser166390と同じです。
// imagine several dozens of lines that look like this
// where the result is the return value of a function call
fields.Add(new ProbeField(){
Command = "A",
Field = "Average",
Value = be.GetAverage()
});
// now you need something that can't be expressed as function call
// so you wrap it in a lambda and immediately call it.
fields.Add(new ProbeField(){
Command = "C",
Field = "Cal Coeff",
Value = ((Func<string>)(() => {
CalCoef coef;
Param param;
be.GetCalibrationCoefficients(out coef, out param);
return coef.lowDet1.ToString();
}))()
});
- 1. Entity Frameworkはデータを取得する前または後にラムダ式を実行しますか?
- 2. 開始直後にタイマーを実行しますか?
- 3. 実行前にラムダ式を渡すメソッドのパラメータ型
- 4. Dockerコンテナは、PHPコードの実行直後に終了します
- 5. LABELS内で定義されたラムダは関数を作成しませんか?実行しませんか?
- 6. ラムダ式を使ってクラス内の特定のメソッドを実行する方法
- 7. Laravelキュージョブ実行直後
- 8. Django設定の直後に起動コードを実行していますか? (コマンドの場合もあります)
- 9. ラムダ式を使わずに関数を書き直すには?
- 10. 別のラムダ関数が実行された後に1つのラムダ関数を実行する方法
- 11. アンドロイドで起動した直後にプログラムを実行しますか?
- 12. 実行時にspring.net XmlApplicationContextにオブジェクト定義を指定します。
- 13. 関数を直接、ラムダ式として使用する
- 14. 一定時間後にスクリプトの実行をスケジュールしますか?
- 15. 注入が完了した直後にコードを実行できますか?
- 16. 非同期アノテーションに基づくC#ラムダ式の実行
- 17. 実行時にラムダ式を取得することは可能ですか?
- 18. ノードJS関数は実行後に未定義です
- 19. Dynamic Linq - 実行時にorderby式の型を設定します。
- 20. Document.readyまたは一定時間後に実行しますか?
- 21. は、linqまたはラムダ式のクエリSQLを実行しましたか?すべての
- 22. このラムダ式は何を行いますか?
- 23. ラムダ式:私は次のようにラムダ式を経由して機能を実装したい複数の値
- 24. ラムダ式のグローバルシンボルを特定する
- 25. Windowsサービスで定義された時間後にメソッドを実行
- 26. ラムダ実行ロール
- 27. typescriptではラムダのパラメータを定義できますか?
- 28. Windows上のPHP.exe - スクリプトの実行直後に終了しない
- 29. greenthreadsはスポーンコールの直後に実行されません
- 30. RxJava 2でonComplete()の直前にコードを実行しますか?
待機...何ですか?なぜラムダ式ですか? – scottheckel
あなたのコードが無効であるのは、あなたが 'Action'か' Expression 'かどうかをコンパイラに伝えていないからです。そのラムダ式を 'Action'にキャストすると、' Invoke'を呼び出すか、メソッド呼び出し構文 '()'を使って呼び出すことができます。 –
phoog
私の想像力は私には失敗するかもしれませんが、実際にこれを行う必要がありますか? –