예제 #1
0
        private Db4objects.Db4o.Internal.ObjectReference Hc_find(int id, object obj)
        {
            int cmp = id - _hcHashcode;

            if (cmp < 0)
            {
                if (_hcPreceding != null)
                {
                    return(_hcPreceding.Hc_find(id, obj));
                }
            }
            else
            {
                if (cmp > 0)
                {
                    if (_hcSubsequent != null)
                    {
                        return(_hcSubsequent.Hc_find(id, obj));
                    }
                }
                else
                {
                    if (obj == GetObject())
                    {
                        return(this);
                    }
                    if (_hcPreceding != null)
                    {
                        Db4objects.Db4o.Internal.ObjectReference inPreceding = _hcPreceding.Hc_find(id, obj
                                                                                                    );
                        if (inPreceding != null)
                        {
                            return(inPreceding);
                        }
                    }
                    if (_hcSubsequent != null)
                    {
                        return(_hcSubsequent.Hc_find(id, obj));
                    }
                }
            }
            return(null);
        }