TypeContext.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 / Framework / System / Windows / Markup / TypeContext.cs / 1305600 / TypeContext.cs

                            //---------------------------------------------------------------------------- 
//
// File: typeContext.cs
//
// Description: 
//   class for the main TypeConverterContext object passed to type converters
// 
// 
// History:
//    8/02/01:    rogerg        Created 
//    05/23/03:   peterost      Ported to wcp
//
// Copyright (C) 2001 by Microsoft Corporation.  All rights reserved.
// 
//---------------------------------------------------------------------------
 
using System; 
using System.ComponentModel;
using System.Xml; 

#if PBTCOMPILER
namespace MS.Internal.Markup
#else 
namespace System.Windows.Markup
#endif 
{ 
    ///TypeConverterContext class used for parsing Attributes.
    internal class TypeConvertContext : ITypeDescriptorContext 
    {

#region Public
 
#region Methods
 
        /// 
        /// OnComponentChange
        /// 
        ///
        /// member is public only because base class has
        /// this public member declared
        /// 
        ///
        /// void 
        /// 
        public void OnComponentChanged()
        { 
        }

        ///
        /// OnComponentChanging 
        ///
        /// 
        /// member is public only because base class has 
        /// this public member declared
        /// 
        ///
        /// void
        ///
        public bool OnComponentChanging() 
        {
            return false; 
        } 

        /// 
        /// IServiceProvider GetService implementation
        ///
        ///
        /// Type of Service to be returned 
        ///
        /// 
        /// member is public only because base class has 
        /// this public member declared
        /// 
        ///
        /// Service object or null if service is not found
        ///
        virtual public object GetService(Type serviceType) 
        {
            if (serviceType == typeof(IUriContext)) 
            { 
                return _parserContext as IUriContext;
            } 

            // temporary code to optimize Paints.White etc, until this is done
            // in a more generic fashion in SolidPaint ctor
            else if (serviceType == typeof(string)) 
            {
                return _attribStringValue; 
            } 

#if PBTCOMPILER 
            return null;
#else
            // Check for the other provided services
 
            ProvideValueServiceProvider serviceProvider = _parserContext.ProvideValueProvider;
            return serviceProvider.GetService( serviceType ); 
#endif 

        } 

#endregion Methods

#region Properties 

        ///Container property 
        /// 
        /// property is public only because base class has
        /// this public property declared 
        ///
        public IContainer Container
        {
            get {return null;} 
        }
 
        ///Instance property 
        ///
        /// property is public only because base class has 
        /// this public property declared
        ///
        public object Instance
        { 
            get { return null; }
        } 
 
        ///Propert Descriptor
        /// 
        /// property is public only because base class has
        /// this public property declared
        ///
        public PropertyDescriptor PropertyDescriptor 
        {
            get { return null;} 
        } 

#if !PBTCOMPILER 
        // Make the ParserContext available internally as an optimization.
        public ParserContext ParserContext
        {
            get { return _parserContext; } 
        }
#endif 
 
#endregion Properties
 
#endregion Public

#region Internal
 
#region Contructors
 
#if !PBTCOMPILER 
        /// 
        /// 
        /// 
        /// 
        public TypeConvertContext(ParserContext parserContext)
        { 
            _parserContext = parserContext;
        } 
#endif 

        // temporary code to optimize Paints.White etc, until this is done 
        // in a more generic fashion in SolidPaint ctor

#if PBTCOMPILER
        ///  
        ///
        ///  
        ///  
        /// 
        public TypeConvertContext(ParserContext parserContext, string originalAttributeValue) 
        {
            _parserContext = parserContext;
            _attribStringValue = originalAttributeValue;
        } 
#endif
 
#endregion Constructors 

#endregion internal 

#region Private

#region Data 

        ParserContext _parserContext; 
 
        // _attribStringValue is never set when !PBTCOMPILER
        #pragma warning disable 0649 
        string _attribStringValue;
        #pragma warning restore 0649

#endregion Data 

#endregion Private 
 
    }
 
}

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