質問: 私のアプリケーションのユーザーが厳密に型指定されたオブジェクトモデルのプロパティを使用してカスタム条件/式を作成できるGUIパネル/ウィザードを構築したいと思います。 基本的にはこのようなものです。 構造はネストでき(LHS / RHSは他の式で構成される場合があります)、or / and / foreachオペランドを使用して他の式と組み合わせることができます。 各部分式の正しい型と値を確認できるようにしたいと思います。理想的には、最終クエリはlinqクエリまたは式ツリーである必要があります。 私の目標は、ユーザーが独自の戦略または単純なワークフローを設計できるようにすることです。 式を処理するためにどのタイプを提案し、動的クエリを作成するためのソリューションを提案しますか? 式を文字列として表すことを考えています。 `person.DateOfBirth > 1970 && person.Country != Country.Germany` 次に、 ここで説明するように 、動的LINQライブラリによって生成された拡張`.Where`句のパラメーターとして連結を使用してlinqクエリを作成します。 動的に高度な式を作成することは可能ですか、またはこのソリューションには制限がありますか? どのような代替ソリューションを提案しますか?
回答: LINQKitプロジェクト、特にPredicateBuilderクラスを確認してください。