IronRuby.Builtins.RangeOps.CaseEquals C# (CSharp) Method

CaseEquals() private method

private CaseEquals ( ComparisonStorage comparisonStorage, [ self, object value ) : bool
comparisonStorage ComparisonStorage
self [
value object
return bool
        public static bool CaseEquals(ComparisonStorage/*!*/ comparisonStorage, [NotNull]Range/*!*/ self, object value) {
            var compare = comparisonStorage.CompareSite;

            object result = compare.Target(compare, self.Begin, value);
            if (result == null || Protocols.ConvertCompareResult(comparisonStorage, result) > 0) {
                return false;
            }

            result = compare.Target(compare, value, self.End);
            if (result == null) {
                return false;
            }

            int valueToEnd = Protocols.ConvertCompareResult(comparisonStorage, result);
            return valueToEnd < 0 || (!self.ExcludeEnd && valueToEnd == 0);
        }