コード例 #1
0
ファイル: Shape.cs プロジェクト: ermshiperete/machine
        public void Freeze()
        {
            if (IsFrozen)
            {
                return;
            }

            IsFrozen = true;
            Begin.Freeze();
            int i = 0;

            foreach (ShapeNode node in this)
            {
                node.Tag = i++;
                node.Freeze();
            }
            End.Freeze();

            _annotations.Freeze();

            _hashCode = 23;
            _hashCode = _hashCode * 31 + Count;
            _hashCode = _hashCode * 31 + _annotations.GetFrozenHashCode();
        }