コード例 #1
0
        public override void Accept(IExecutableObject obj)
        {
            var alt = obj as AlternativeUnit;

            // Assert that obj == null || !InAlternate
            if (alt != null)
            {
                InAlternateState = true;
                Alternate        = alt;
            }
            else
            {
                if (InAlternateState)
                {
                    Alternate.Accept(obj);
                }
                else
                {
                    base.Accept(obj);
                }
            }
        }