emum で条件付きの動的クエリを作成しようとしています
enumField & enumValue == enumValue
このために、分析中に以下が呼び出されます
Expression GenerateBitWiseAnd(Expression left, Expression right) {
return Expression.And(left, right);
}
これは例外をスローします
And binary operator is not defined for `EnumType` and `EnumType`.
等値演算子はうまく機能します
Expression GenerateEqual(Expression left, Expression right) {
return Expression.Equal(left, right);
}
しかし、And ビット演算子なしで [Flags] を処理する方法がわかりません。
問題は、ここから、クエリを動的に偽造して列挙型をチェックする方法です。
私のアプリケーションは .Net 4 をターゲットにしています