internal static TypeUsage RequireComparableCollectionArguments <TExpressionType>( DbExpression left, DbExpression right) { TypeUsage typeUsage = ArgumentValidation.RequireCollectionArguments <TExpressionType>(left, right); if (!TypeHelpers.IsSetComparableOpType(TypeHelpers.GetElementTypeUsage(left.ResultType))) { throw new ArgumentException(Strings.Cqt_InvalidTypeForSetOperation((object)TypeHelpers.GetElementTypeUsage(left.ResultType).Identity, (object)typeof(TExpressionType).Name), nameof(left)); } if (!TypeHelpers.IsSetComparableOpType(TypeHelpers.GetElementTypeUsage(right.ResultType))) { throw new ArgumentException(Strings.Cqt_InvalidTypeForSetOperation((object)TypeHelpers.GetElementTypeUsage(right.ResultType).Identity, (object)typeof(TExpressionType).Name), nameof(right)); } return(typeUsage); }