//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ /* */ namespace System.ComponentModel { using System; using System.ComponentModel; using System.Diagnostics; using System.Security.Permissions; /// /// Specifies whether a property or event should be displayed in /// a property browsing window. /// [AttributeUsage(AttributeTargets.All)] public sealed class BrowsableAttribute : Attribute { /// /// /// Specifies that a property or event can be modified at /// design time. This /// field is read-only. /// /// public static readonly BrowsableAttribute Yes = new BrowsableAttribute(true); /// /// /// Specifies that a property or event cannot be modified at /// design time. This field is read-only. /// /// public static readonly BrowsableAttribute No = new BrowsableAttribute(false); /// /// Specifies the default value for the , /// which is . This field is read-only. /// public static readonly BrowsableAttribute Default = Yes; private bool browsable = true; /// /// Initializes a new instance of the class. /// public BrowsableAttribute(bool browsable) { this.browsable = browsable; } /// /// /// Gets a value indicating whether an object is browsable. /// /// public bool Browsable { get { return browsable; } } /// /// /// public override bool Equals(object obj) { if (obj == this) { return true; } BrowsableAttribute other = obj as BrowsableAttribute; return (other != null) && other.Browsable == browsable; } /// /// [To be supplied.] /// public override int GetHashCode() { return browsable.GetHashCode(); } #if !SILVERLIGHT /// /// /// public override bool IsDefaultAttribute() { return (this.Equals(Default)); } #endif } }