System.Xml.Xsl.Runtime.XsltLibrary.CompareValues C# (CSharp) Method

CompareValues() private static method

private static CompareValues ( ComparisonOperator op, XPathItem left, XPathItem right, TypeCode compType ) : bool
op ComparisonOperator
left System.Xml.XPath.XPathItem
right System.Xml.XPath.XPathItem
compType TypeCode
return bool
        private static bool CompareValues(ComparisonOperator op, XPathItem left, XPathItem right, TypeCode compType)
        {
            if (compType == TypeCode.Double)
            {
                return CompareNumbers(op, XsltConvert.ToDouble(left), XsltConvert.ToDouble(right));
            }
            else
            {
                Debug.Assert(op == ComparisonOperator.Eq || op == ComparisonOperator.Ne);
                if (compType == TypeCode.String)
                {
                    return (XsltConvert.ToString(left) == XsltConvert.ToString(right)) == (op == ComparisonOperator.Eq);
                }
                else
                {
                    Debug.Assert(compType == TypeCode.Boolean);
                    return (XsltConvert.ToBoolean(left) == XsltConvert.ToBoolean(right)) == (op == ComparisonOperator.Eq);
                }
            }
        }