我正在開發一個自定義的LINQ提供以下的https://msdn.microsoft.com/en-us/library/bb546158.aspxC#自定義LINQ提供程序
然而,當涉及到「不」操作我陷入發現非常有用的文章。例如,我正在使用條件!a.Name.Equals("2 Test")
進行測試。這轉換爲lambda表達式{Not(a.Name.Equals("2 Test"))}
。
當我打電話ExpressionVisitor.Visit(expression)
,在這個表達式上,我的VisitMethodCall
覆蓋被調用。但是,該調用接收到的MethodCallExpression
參數缺少表達式的非部分,即:{a.Name.Equals("2 Test")}
。
沒有其他覆蓋被稱爲(我已覆蓋所有可用)。這似乎使它不可能處理表達式的一部分 - 但是我相信這不可能是這種情況!
任何人都可以爲我闡明這一點嗎? AHA,Ben :)
顯示你的'ExpressionVisitor' – haim770