ValueSerializerAttribute.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 / Base / System / Windows / Markup / ValueSerializerAttribute.cs / 1 / ValueSerializerAttribute.cs

                            //------------------------------------------------------------------------ 
//
//  Microsoft Windows Client Platform
//  Copyright (C) Microsoft Corporation, 2005
// 
//  File:      ValueSerializerAttribute.cs
// 
//  Contents:  An attribute that allows associating a ValueSerializer 
//             implementation with either a type or a property (or
//             an attached property by setting it on the static accessor 
//             for the attachable property).
//
//  Created:   04/28/2005 chuckj
// 
//-----------------------------------------------------------------------
 
using System; 

namespace System.Windows.Markup 
{
    /// 
    /// Attribute to associate a ValueSerializer class with a value type or to override
    /// which value serializer to use for a property. A value serializer can be associated 
    /// with an attached property by placing the attribute on the static accessor for the
    /// attached property. 
    ///  
    [AttributeUsage(AttributeTargets.Class | AttributeTargets.Interface | AttributeTargets.Struct | AttributeTargets.Enum | AttributeTargets.Property | AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
    public sealed class ValueSerializerAttribute : Attribute 
    {
        /// 
        /// Constructor for the ValueSerializerAttribute
        ///  
        /// Type of the value serializer being associated with a type or property
        public ValueSerializerAttribute(Type valueSerializerType) 
        { 
            _valueSerializerType = valueSerializerType;
        } 

        /// 
        /// Constructor for the ValueSerializerAttribute
        ///  
        /// Fully qualified type name of the value serializer being associated with a type or property
        public ValueSerializerAttribute(string valueSerializerTypeName) 
        { 
            _valueSerializerTypeName = valueSerializerTypeName;
        } 

        /// 
        /// The type of the value serializer to create for this type or property.
        ///  
        public Type ValueSerializerType
        { 
            get 
            {
                if (_valueSerializerType == null && _valueSerializerTypeName != null) 
                    _valueSerializerType = Type.GetType(_valueSerializerTypeName);
                return _valueSerializerType;
            }
        } 

        ///  
        /// The assembly qualified name of the value serializer type for this type or property. 
        /// 
        public string ValueSerializerTypeName 
        {
            get
            {
                if (_valueSerializerType != null) 
                    return _valueSerializerType.AssemblyQualifiedName;
                else 
                    return _valueSerializerTypeName; 
            }
        } 

        private Type _valueSerializerType;
        private string _valueSerializerTypeName;
    } 
}

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