예제 #1
0
#pragma warning restore CA1051 // Do not declare visible instance fields

        public override int GetHashCode()
        {
            unchecked
            {
                int hash = 13;
                hash = (hash * 7) + Type.GetHashCode();
                switch (Type)
                {
                case NtType.Boolean:
                    hash = (hash * 7) + Data.VBoolean.GetHashCode();
                    break;

                case NtType.Double:
                    hash = (hash * 7) + Data.VDouble.GetHashCode();
                    break;

                case NtType.String:
                    hash = (hash * 7) + Data.VString.GetHashCode();
                    break;

                case NtType.Rpc:
                case NtType.Raw:
                    hash = (hash * 7) + Data.VRaw.GetHashCode();
                    break;

                case NtType.BooleanArray:
                    hash = (hash * 7) + Data.VBooleanArray.GetHashCode();
                    break;

                case NtType.DoubleArray:
                    hash = (hash * 7) + Data.VDoubleArray.GetHashCode();
                    break;

                case NtType.StringArray:
                    hash = (hash * 7) + Data.VStringArray.GetHashCode();
                    break;
                }
                return(hash);
            }
        }