/// <summary>Determines whether this instance contains the object.</summary> /// <param name="constant">The constant.</param> /// <param name="memberExpression">The member expression.</param> /// <param name="value">The value.</param> /// <returns></returns> /// <exception cref="ArgumentException">Type of argument is not valid to method. > {nameof(Contains)}</exception> /// <exception cref="InvalidOperationException">Error to get method contains. > {nameof(Contains)}</exception> public Expression Contains( ConstantExpression constant, MemberExpression memberExpression, object value) { ThrowErrorIf.IsTypeNotEquals <string>(value); var method = typeof(string). GetMethod(LambdaMethod.Contains.ToString(), new[] { typeof(string) }); var result = Expression. Call(memberExpression, method ?? throw new InvalidOperationException($"Error to get method Contains > {nameof(Contains)}"), constant); return(result); }