KeyValueSerializer.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 / Base / System / Windows / Input / KeyValueSerializer.cs / 1305600 / KeyValueSerializer.cs

                            //---------------------------------------------------------------------------- 
//
// File: KeyValueSerializer.cs
//
// Description: 
//
//      KeyValueSerializer: Serializes a key string to a string and vice-versa 
// 
// Features:
// 
// History:
//  08/04/2005       created: Chuck Jazdzewski
//
// Copyright (C) 2005 by Microsoft Corporation.  All rights reserved. 
//
//--------------------------------------------------------------------------- 
 
using System;
using System.ComponentModel;    // for TypeConverter 
using System.Globalization;     // for CultureInfo
using System.Reflection;
using System.Windows;
using System.Windows.Input; 
using System.Windows.Markup;
using System.Security.Permissions; 
using MS.Utility; 

namespace System.Windows.Input 
{
    /// 
    /// Key Serializer class for serializing a Key
    ///  
    /// 
    public class KeyValueSerializer : ValueSerializer 
    { 
        /// 
        /// CanConvertFromString() 
        /// 
        /// 
        /// 
        ///  
        /// 
        public override bool CanConvertFromString(string value, IValueSerializerContext context) 
        { 
            return true;
        } 

        /// 
        /// CanConvertToString()
        ///  
        /// 
        ///  
        ///  
        /// 
        public override bool CanConvertToString(object value, IValueSerializerContext context) 
        {
            if (!(value is Key))
                return false;
            Key key = (Key)value; 
            return ((int)key >= (int)Key.None && (int)key <= (int)Key.OemClear);
        } 
 
        /// 
        /// ConvertFromString() 
        /// 
        /// 
        /// 
        ///  
        public override object ConvertFromString(string value, IValueSerializerContext context)
        { 
            TypeConverter converter = TypeDescriptor.GetConverter(typeof(Key)); 
            if (converter != null)
                return converter.ConvertFromString(value); 
            else
                return base.ConvertFromString(value, context);
        }
 
        /// 
        /// ConvertToString() 
        ///  
        /// 
        ///  
        /// 
        public override string ConvertToString(object value, IValueSerializerContext context)
        {
            TypeConverter converter = TypeDescriptor.GetConverter(typeof(Key)); 
            if (converter != null)
                return converter.ConvertToInvariantString(value); 
            else 
                return base.ConvertToString(value, context);
        } 
    }
}


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