Boo.Lang.BooComparer.Compare C# (CSharp) Метод

Compare() публичный Метод

public Compare ( object lhs, object rhs ) : int
lhs object
rhs object
Результат int
        public int Compare(object lhs, object rhs)
        {
            if (null == lhs)
            {
                if (null == rhs)
                {
                    return 0;
                }

                return -1;
            }
            else
            {
                if (null == rhs)
                {
                    return 1;
                }

                IComparable lhsComparable = lhs as IComparable;
                if (null == lhsComparable)
                {
                    IComparable rhsComparable = rhs as IComparable;
                    if (null == rhsComparable)
                    {
                        IEnumerable lhsEnumerable = lhs as IEnumerable;
                        IEnumerable rhsEnumerable = rhs as IEnumerable;
                        if (null != lhsEnumerable && null != rhsEnumerable)
                        {
                            return CompareEnumerables(lhsEnumerable, rhsEnumerable);
                        }
                        //throw new ArgumentException(ResourceManager.GetString("CantCompareItems"));
                        return lhs.Equals(rhs) ? 0 : 1;
                    }
                    return -1*(rhsComparable.CompareTo(lhs));
                }
                return lhsComparable.CompareTo(rhs);
            }
        }