Извините, после некоторого затруднения я понял, что операторы >
и <
в строках реализованы с вызовом string.CompareTo
, поэтому я обновил код, чтобы использовать вместо него метод string.CompareTo
, и он заработал. В любом случае, спасибо,
Выражение должно быть:
var expression =
Expression.GreaterThan(
Expression.Call(
Expression.Invoke(codeSelectorExpression, row),
typeof(string).GetMethod("CompareTo", new[] {typeof(string)}),
Expression.Constant("someString")),
Expression.Constant(0, typeof(int)));