|
//------------------------------------------------------------------------------
// <copyright file="RecommendedAsConfigurableAttribute.cs" company="Microsoft">
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
//------------------------------------------------------------------------------
/*
*/
namespace System.ComponentModel {
using System;
using System.Diagnostics;
using System.Security.Permissions;
/// <devdoc>
/// <para>Specifies that the property can be
/// used as an application setting.</para>
/// </devdoc>
[AttributeUsage(AttributeTargets.Property)]
[Obsolete("Use System.ComponentModel.SettingsBindableAttribute instead to work with the new settings model.")]
public class RecommendedAsConfigurableAttribute : Attribute {
private bool recommendedAsConfigurable = false;
/// <devdoc>
/// <para>
/// Initializes a new instance of
/// the <see cref='System.ComponentModel.RecommendedAsConfigurableAttribute'/> class.
/// </para>
/// </devdoc>
public RecommendedAsConfigurableAttribute(bool recommendedAsConfigurable) {
this.recommendedAsConfigurable = recommendedAsConfigurable;
}
/// <devdoc>
/// <para>Gets a value indicating whether the property this
/// attribute is bound to can be used as an application setting.</para>
/// </devdoc>
public bool RecommendedAsConfigurable {
get {
return recommendedAsConfigurable;
}
}
/// <devdoc>
/// <para>
/// Specifies that a property cannot be used as an application setting. This
/// <see langword='static '/>field is read-only.
/// </para>
/// </devdoc>
public static readonly RecommendedAsConfigurableAttribute No = new RecommendedAsConfigurableAttribute(false);
/// <devdoc>
/// <para>
/// Specifies
/// that a property can be used as an application setting. This <see langword='static '/>field is read-only.
/// </para>
/// </devdoc>
public static readonly RecommendedAsConfigurableAttribute Yes = new RecommendedAsConfigurableAttribute(true);
/// <devdoc>
/// <para>
/// Specifies the default value for the <see cref='System.ComponentModel.RecommendedAsConfigurableAttribute'/>, which is <see cref='System.ComponentModel.RecommendedAsConfigurableAttribute.No'/>. This <see langword='static '/>field is
/// read-only.
/// </para>
/// </devdoc>
public static readonly RecommendedAsConfigurableAttribute Default = No;
/// <internalonly/>
/// <devdoc>
/// </devdoc>
public override bool Equals(object obj) {
if (obj == this) {
return true;
}
RecommendedAsConfigurableAttribute other = obj as RecommendedAsConfigurableAttribute;
return other != null && other.RecommendedAsConfigurable == recommendedAsConfigurable;
}
/// <devdoc>
/// <para>
/// Returns the hashcode for this object.
/// </para>
/// </devdoc>
public override int GetHashCode() {
return base.GetHashCode();
}
/// <internalonly/>
/// <devdoc>
/// </devdoc>
public override bool IsDefaultAttribute() {
return !recommendedAsConfigurable;
}
}
}
|