ResourceDefaultValueAttribute.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ DotNET / DotNET / 8.0 / untmp / Orcas / RTM / ndp / fx / src / xsp / System / Web / Extensions / ui / ResourceDefaultValueAttribute.cs / 1 / ResourceDefaultValueAttribute.cs

                            //------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//----------------------------------------------------------------------------- 

namespace System.Web.UI { 
    using System; 
    using System.ComponentModel;
    using System.Reflection; 
    using System.Web.Resources;

    [AttributeUsage(AttributeTargets.All)]
    internal sealed class ResourceDefaultValueAttribute : DefaultValueAttribute { 

        private Type _type; 
        private bool _resourceLoaded; 

        internal ResourceDefaultValueAttribute(Type type, string value) 
            : base(value) {
            _type = type;
        }
 
        internal ResourceDefaultValueAttribute(string value) : base(value) { }
 
        public override object TypeId { 
            get {
                return typeof(DefaultValueAttribute); 
            }
        }

        public override object Value { 
            get {
                if (!_resourceLoaded) { 
                    _resourceLoaded = true; 
                    string baseValue = (string)base.Value;
                    if (!String.IsNullOrEmpty(baseValue)) { 
                        object value = AtlasWeb.ResourceManager.GetString(baseValue, AtlasWeb.Culture);
                        if (_type != null) {
                            try {
                                value = TypeDescriptor.GetConverter(_type).ConvertFromInvariantString((string)value); 
                            }
                            catch (NotSupportedException) { 
                                value = null; 
                            }
                        } 
                        base.SetValue(value);
                    }
                }
                return base.Value; 
            }
        } 
    } 
}

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