SourceItem.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / SourceItem.cs / 1305600 / SourceItem.cs

                            using System; 

namespace System.Windows
{
    // An item in the source context 
    internal struct SourceItem
    { 
        #region Construction 

        // Constructor for SourceItem 
        internal SourceItem(int startIndex, object source)
        {
            _startIndex = startIndex;
            _source = source; 
        }
 
        #endregion Construction 

        #region Operations 

        // Gettor for StartIndex
        internal int StartIndex
        { 
            get { return _startIndex; }
        } 
 
        // Gettor for Source
        internal object Source 
        {
            get { return _source; }
        }
 
        /*
        Commented out to avoid "uncalled private code" fxcop violation 
 
        /// 
        ///     Cleanup all the references within the data 
        /// 
        internal void Clear()
        {
            _startIndex = -1; 
            _source = null;
        } 
        */ 

        ///  
        ///     Is the given object equals the current
        /// 
        public override bool Equals(object o)
        { 
            return Equals((SourceItem)o);
        } 
 
        /// 
        ///     Is the given SourceItem equals the current 
        /// 
        public bool Equals(SourceItem sourceItem)
        {
            return ( 
                sourceItem._startIndex == this._startIndex &&
                sourceItem._source == this._source); 
        } 

        ///  
        ///     Serves as a hash function for a particular type, suitable for use in
        ///     hashing algorithms and data structures like a hash table
        /// 
        public override int GetHashCode() 
        {
            return base.GetHashCode(); 
        } 

        ///  
        ///     Equals operator overload
        /// 
        public static bool operator== (SourceItem sourceItem1, SourceItem sourceItem2)
        { 
            return sourceItem1.Equals(sourceItem2);
        } 
 
        /// 
        ///     NotEquals operator overload 
        /// 
        public static bool operator!= (SourceItem sourceItem1, SourceItem sourceItem2)
        {
            return !sourceItem1.Equals(sourceItem2); 
        }
 
        #endregion Operations 

        #region Data 

        private int _startIndex;
        private object _source;
 
        #endregion Data
    } 
} 

// 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