Пример #1
0
        public override int GetHashCode()
        {
            int hashCode = 387039986;

            hashCode = hashCode * -1521134295 + NamespaceIndex.GetHashCode();
            hashCode = hashCode * -1521134295 + IdType.GetHashCode();
            switch (IdType)
            {
            case IdType.Numeric:
                hashCode = hashCode * -1521134295 + EqualityComparer <uint> .Default.GetHashCode((uint)Identifier);

                break;

            case IdType.String:
                hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode((string)Identifier);

                break;

            case IdType.Guid:
                hashCode = hashCode * -1521134295 + EqualityComparer <Guid> .Default.GetHashCode((Guid)Identifier);

                break;

            case IdType.Opaque:
                hashCode = hashCode * -1521134295 + ByteSequenceComparer.GetHashCode((byte[])Identifier);
                break;
            }

            return(hashCode);
        }