1 //------------------------------------------------------------------------------ 2 // <copyright file="ResourceDisplayNameAttribute.cs" company="Microsoft"> 3 // Copyright (c) Microsoft Corporation. All rights reserved. 4 // </copyright> 5 //------------------------------------------------------------------------------ 6 7 namespace System.Web.UI 8 { 9 using System; 10 using System.ComponentModel; 11 using System.Reflection; 12 using System.Web.Resources; 13 14 [AttributeUsage(AttributeTargets.Class, Inherited = true, AllowMultiple = false)] 15 internal sealed class ResourceDisplayNameAttribute : DisplayNameAttribute 16 { 17 private bool _resourceLoaded; 18 private readonly string _displayNameResourceName; 19 ResourceDisplayNameAttribute(string displayNameResourceName)20 public ResourceDisplayNameAttribute(string displayNameResourceName) 21 { 22 _displayNameResourceName = displayNameResourceName; 23 } 24 25 public override string DisplayName 26 { 27 get 28 { 29 if (!_resourceLoaded) 30 { 31 _resourceLoaded = true; 32 DisplayNameValue = AtlasWeb.ResourceManager.GetString(_displayNameResourceName, AtlasWeb.Culture); 33 } 34 return base.DisplayName; 35 } 36 } 37 } 38 } 39