//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ /* */ namespace System.ComponentModel { using System; using System.Diagnostics; using System.Security.Permissions; /// /// Specifies the display name for a property or event. The default is the name of the property or event. /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1813:AvoidUnsealedAttributes")] [AttributeUsage(AttributeTargets.Property | AttributeTargets.Event | AttributeTargets.Class | AttributeTargets.Method)] public class DisplayNameAttribute : Attribute { /// /// Specifies the default value for the , which is an /// empty string (""). This field is read-only. /// public static readonly DisplayNameAttribute Default = new DisplayNameAttribute(); private string _displayName; /// /// [To be supplied.] /// public DisplayNameAttribute() : this (string.Empty) { } /// /// Initializes a new instance of the class. /// public DisplayNameAttribute(string displayName) { this._displayName = displayName; } /// /// Gets the description stored in this attribute. /// public virtual string DisplayName { get { return DisplayNameValue; } } /// /// Read/Write property that directly modifies the string stored /// in the description attribute. The default implementation /// of the Description property simply returns this value. /// protected string DisplayNameValue { get { return _displayName; } set { _displayName = value; } } public override bool Equals(object obj) { if (obj == this) { return true; } DisplayNameAttribute other = obj as DisplayNameAttribute; return (other != null) && other.DisplayName == DisplayName; } public override int GetHashCode() { return DisplayName.GetHashCode(); } /// /// /// public override bool IsDefaultAttribute() { return (this.Equals(Default)); } } }