//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//------------------------------------------------------------------------------
/*
*/
namespace System.ComponentModel {
using System;
using System.Diagnostics;
using System.Security.Permissions;
///
/// Use this attribute to specify typical properties on components that can be bound
/// to application settings.
///
[AttributeUsage(AttributeTargets.Property)]
public sealed class SettingsBindableAttribute : Attribute {
///
/// Specifies that a property is appropriate to bind settings to.
///
public static readonly SettingsBindableAttribute Yes = new SettingsBindableAttribute(true);
///
/// Specifies that a property is not appropriate to bind settings to.
///
public static readonly SettingsBindableAttribute No = new SettingsBindableAttribute(false);
private bool _bindable = false;
public SettingsBindableAttribute(bool bindable) {
_bindable = bindable;
}
///
/// Gets a value indicating whether a property is appropriate to bind settings to.
///
public bool Bindable {
get {
return _bindable;
}
}
public override bool Equals(object obj) {
if (obj == this) {
return true;
}
if (obj != null && obj is SettingsBindableAttribute) {
return (((SettingsBindableAttribute)obj).Bindable == _bindable);
}
return false;
}
public override int GetHashCode() {
return _bindable.GetHashCode();
}
}
}