Я использую jqGrid
для отображения некоторых данных пользователям. jqGrid имеет функцию поиска, которая сравнивает строки, такие как Equals, NotEquals, Contains, StartsWith, NotStartsWith и т. д.
Когда я использую StartsWith
, я получаю действительные результаты (выглядит так):
Expression condition = Expression.Call(memberAccess,
typeof(string).GetMethod("StartsWith"),
Expression.Constant(value));
Так как DoesNotStartWith не существует, я его создал:
public static bool NotStartsWith(this string s, string value)
{
return !s.StartsWith(value);
}
Это работает, и я могу создать строку и вызвать этот метод следующим образом:
string myStr = "Hello World";
bool startsWith = myStr.NotStartsWith("Hello"); // false
Так что теперь я могу создать / вызвать выражение следующим образом:
Expression condition = Expression.Call(memberAccess,
typeof(string).GetMethod("NotStartsWith"),
Expression.Constant(value));
Но я получаю ArgumentNullException was unhandled by user code: Value cannot be null.
Parameter name: method
ошибку.
Кто-нибудь знает, почему это не работает или лучший способ подойти к этому?