public int GetHashCode(object obj)
        {
            if (object.ReferenceEquals(obj, null))
            {
                return(0);
            }
            if (obj is string)
            {
                string text = (string)obj;
                if ((CompareOptions.IgnoreCase & this.m_compareOptions) != 0)
                {
                    text = text.ToUpper(this.m_cultureInfo);
                }
                return(text.GetHashCode());
            }
            ICustomComparable customComparable = obj as ICustomComparable;

            if (customComparable != null)
            {
                return(customComparable.GetHashCode(this));
            }
            return(obj.GetHashCode());
        }