XamlFrame.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Shared / MS / Internal / Xaml / Context / XamlFrame.cs / 1305600 / XamlFrame.cs

                            using System; 
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
 
namespace MS.Internal.Xaml.Context
{ 
    abstract class XamlFrame 
    {
        private int _depth; 
        private XamlFrame _previous;

        protected XamlFrame()
        { 
            _depth = -1;
        } 
 
        // Copy constructor
        protected XamlFrame(XamlFrame source) 
        {
            _depth = source._depth;
        }
 
        public virtual XamlFrame Clone()
        { 
            // Clone should only be overridden for the classes that really need it 
            // ObjectWriterFrame overrides this so we can reuse the context for
            // Templates. 
            throw new NotImplementedException();
        }

        // Reset the contents of the Frame so it can be reused in a stack without reallocating. 
        // Depth and previous do not change when we reuse the Frame.
        public abstract void Reset(); 
 
        public int Depth
        { 
            get
            {
                Debug.Assert(_depth != -1, "Context Frame is uninitialized");
                return _depth; 
            }
        } 
 
        public XamlFrame Previous
        { 
            get { return _previous; }
            set
            {
                _previous = value; 
                _depth = (_previous == null) ? 0 : _previous._depth + 1;
            } 
        } 
    }
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
using System; 
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
 
namespace MS.Internal.Xaml.Context
{ 
    abstract class XamlFrame 
    {
        private int _depth; 
        private XamlFrame _previous;

        protected XamlFrame()
        { 
            _depth = -1;
        } 
 
        // Copy constructor
        protected XamlFrame(XamlFrame source) 
        {
            _depth = source._depth;
        }
 
        public virtual XamlFrame Clone()
        { 
            // Clone should only be overridden for the classes that really need it 
            // ObjectWriterFrame overrides this so we can reuse the context for
            // Templates. 
            throw new NotImplementedException();
        }

        // Reset the contents of the Frame so it can be reused in a stack without reallocating. 
        // Depth and previous do not change when we reuse the Frame.
        public abstract void Reset(); 
 
        public int Depth
        { 
            get
            {
                Debug.Assert(_depth != -1, "Context Frame is uninitialized");
                return _depth; 
            }
        } 
 
        public XamlFrame Previous
        { 
            get { return _previous; }
            set
            {
                _previous = value; 
                _depth = (_previous == null) ? 0 : _previous._depth + 1;
            } 
        } 
    }
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.

                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK