コード例 #1
0
        protected override ulong CalculateLongHashCode()
        {
            Name.CheckDirty();

            var result = base.CalculateLongHashCode() ^ Name.GetLongHashCode();

            if (Range != null)
            {
                Range.CheckDirty();

                result ^= Range.GetLongHashCode();
            }

            if (Constraint != null)
            {
                Constraint.CheckDirty();
            }

            if (!Values.IsNullOrEmpty())
            {
                foreach (var value in Values)
                {
                    value.CheckDirty();

                    result ^= value.GetLongHashCode();
                }
            }

            if (!Operators.IsNullOrEmpty())
            {
                foreach (var op in Operators)
                {
                    op.CheckDirty();

                    result ^= op.GetLongHashCode();
                }
            }

            return(result);
        }