protected int DefaultCompareTo <SpecificType>(ObjectKey obj, SpecificTypeDelegate <SpecificType> specificTypeComparer)
            where SpecificType : ObjectKey
        {
            SpecificType other = obj as SpecificType;

            if (ReferenceEquals(other, null))
            {
                return(KeyType.CompareTo(obj.KeyType));
            }
            else
            {
                return(specificTypeComparer(other));
            }
        }
Пример #2
0
            public int Compare(ComparisonKey that, ComparisonLevel level)
            {
                int result = KeyType.CompareTo(that.KeyType);

                if (result != 0 || level <= ComparisonLevel.KeyType)
                {
                    return(result);
                }
                result = CompareSpecific(that, level);
                if (result != 0 || level < ComparisonLevel.Adduct)
                {
                    return(result);
                }
                result = Adduct.CompareTo(that.Adduct);
                if (result != 0 || level <= ComparisonLevel.Adduct)
                {
                    return(result);
                }
                return(result);
            }