//------------------------------------------------------------------------------
//
// 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));
}
}
}