//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ /* */ namespace System.ComponentModel { using System; using System.Diagnostics; using System.Security.Permissions; /// /// Specifies a description for a property /// or event. /// [AttributeUsage(AttributeTargets.All)] public class DescriptionAttribute : Attribute { /// /// Specifies the default value for the , which is an /// empty string (""). This field is read-only. /// public static readonly DescriptionAttribute Default = new DescriptionAttribute(); private string description; /// /// [To be supplied.] /// public DescriptionAttribute() : this (string.Empty) { } /// /// Initializes a new instance of the class. /// public DescriptionAttribute(string description) { this.description = description; } /// /// Gets the description stored in this attribute. /// public virtual string Description { get { return DescriptionValue; } } /// /// 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 DescriptionValue { get { return description; } set { description = value; } } public override bool Equals(object obj) { if (obj == this) { return true; } DescriptionAttribute other = obj as DescriptionAttribute; return (other != null) && other.Description == Description; } public override int GetHashCode() { return Description.GetHashCode(); } #if !SILVERLIGHT /// /// /// public override bool IsDefaultAttribute() { return (this.Equals(Default)); } #endif } }