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()); }