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