SystemThemeKey.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / System / Windows / SystemThemeKey.cs / 1 / SystemThemeKey.cs

                            //---------------------------------------------------------------------------- 
//
// Copyright (C) 2004 by Microsoft Corporation.  All rights reserved.
//
//--------------------------------------------------------------------------- 

using System; 
using System.Reflection; 
using System.Text;
using System.Windows; 
using System.Windows.Markup;
using System.ComponentModel;
using System.Diagnostics;
 
namespace System.Windows
{ 
    ///  
    ///     Implements ResourceKey to create unique keys for our system resources.
    ///     Keys will be exposed publicly only with the ResourceKey API. 
    /// 
    [TypeConverter(typeof(System.Windows.Markup.SystemKeyConverter))]
    internal class SystemThemeKey : ResourceKey
    { 
        /// 
        ///     Constructs a new instance of the key with the given ID. 
        ///  
        /// The internal, unique ID of the system resource.
        internal SystemThemeKey(SystemResourceKeyID id) 
        {
            _id = id;
            Debug.Assert(id > SystemResourceKeyID.InternalSystemThemeStylesStart &&
                         id < SystemResourceKeyID.InternalSystemThemeStylesEnd); 
        }
 
        ///  
        ///     Used to determine where to look for the resource dictionary that holds this resource.
        ///  
        public override Assembly Assembly
        {
            get
            { 
                if (_presentationFrameworkAssembly == null)
                { 
                    _presentationFrameworkAssembly = typeof(FrameworkElement).Assembly; 
                }
 
                return _presentationFrameworkAssembly;
            }
        }
 
        /// 
        ///     Determines if the passed in object is equal to this object. 
        ///     Two keys will be equal if they both have the same ID. 
        /// 
        /// The object to compare with. 
        /// True if the objects are equal. False otherwise.
        public override bool Equals(object o)
        {
            SystemThemeKey key = o as SystemThemeKey; 

            if (key != null) 
            { 
                return key._id == this._id;
            } 

            return false;
        }
 
        /// 
        ///     Serves as a hash function for a particular type. 
        ///  
        public override int GetHashCode()
        { 
            return (int)_id;
        }

        ///  
        ///     get string representation of this key
        ///  
        /// the string representation of the key 
        public override string ToString()
        { 
            return _id.ToString();
        }

 
        internal SystemResourceKeyID InternalKey
        { 
            get 
            {
                return _id; 
            }
        }

 
        private SystemResourceKeyID _id;
        private static Assembly _presentationFrameworkAssembly; 
    } 
}

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