1
私たちはList<SomeType>
を持っていて、いくつかの基準を満たす要素を選択するのと同じように異なるアクションを実行できるようにしたい。我々はこれらのテストをテキストでユーザに提供したいので、C# Expression Evaluatorを見ています。リストをフィルタリングするためにC#Expression Evaluatorを使用する
これは確かにこの目的のために使用できますが、LINQを使用するときにcsharpeval
デリゲートをラムダとして使用できるかどうかを判断するのは難しいです。私たちは、格納された式を各オブジェクトに適用する必要があります。
"o.FirstName == "Tom"
とはのようにリスト全体の表現を格納しません。
式を一度コンパイルして異なる入力データに対して実行する方法は、ScopeCompile
から提供されていますが、これらがラムダメソッドと互換性があるかどうかはわかりません。誰か助けてくれますか?
このためにRoslynを直接使用しましたか? "C#スクリプトを作成してビルドして複数回実行する"の例はかなり似ていますが、https://github.com/dotnet/roslyn/wiki/Scripting-API-Samples#expr – user9993
@ user9993はありません。明らかに私は明示的なループを書くことができます、ラムダは主にスタイルのためです: –
http://stackoverflow.com/q/1807854/1271037、http://stackoverflow.com/q/821365/1271037 – dovid