問題タブ [expressionvisitor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
409 参照

c# - Where クエリを作成するための LINQ 拡張メソッド

Where機能するクエリを作成するために、LINQ-to-Object と LINQ-to-Entities の両方で使用できる拡張メソッドを作成しようとしています。最終的にはさらに詳しくなりますが、最初に、ラムダ列の選択を取り、それをContains()呼び出しのベースとして使用するメソッドを取得するだけで問題が発生しています。LINQ-to-Objects で何かを機能させることができましたが、LINQ-to-Entities で使用しようとすると問題が発生します。

LINQ-to-Objects で機能するのは次のとおりです。

これが Entity Framework に対して実行されると、例外が発生します

LINQ to Entities はメソッドを認識しません...

これには を使用する必要があると感じてExpressionVisitorいますが、どのように配線する必要があるのか​​ わかりません。

アップデート:

xanatos によって提供された回答は、ExpressionVisitor を使用せずにこれを達成する簡単な方法を示しているため、これは重複していないと主張します。

0 投票する
0 に答える
231 参照

antlr - Antlr Cpp templated visitor class

Is there any possibility of templated visitors in AntlrCpp similar to Java implementation? I've a BaseExpression class that I want to return from my visitors but for the sub-rules, I'd like to return ScalarExpression/VectorExpression that derive from BaseExpression. Now, I've to check the type of Any everytime I need to do something specific related to scalar or vector rules. Having a template would eliminate the need for Any and we can directly access the right type of object returned from each visitor method.