internal int Compare(ObjectCommandPropertyValue first, ObjectCommandPropertyValue second) { if (first.IsExistingProperty && second.IsExistingProperty) { return(Compare(first.PropertyValue, second.PropertyValue)); } // if first.IsExistingProperty, !second.IsExistingProperty; otherwise the // first branch if would return. Regardless of key orders non existing property // will be considered greater than others if (first.IsExistingProperty) { return(-1); } // viceversa for the first.IsExistingProperty if (second.IsExistingProperty) { return(1); } //both are nonexisting return(0); }
internal int Compare(ObjectCommandPropertyValue first, ObjectCommandPropertyValue second) { if (first.IsExistingProperty && second.IsExistingProperty) { return Compare(first.PropertyValue, second.PropertyValue); } // if first.IsExistingProperty, !second.IsExistingProperty; otherwise the // first branch if would return. Regardless of key orders non existing property // will be considered greater than others if (first.IsExistingProperty) { return -1; } // viceversa for the first.IsExistingProperty if (second.IsExistingProperty) { return 1; } //both are nonexisting return 0; }