//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ /* */ namespace System.ComponentModel { using System; using System.Diagnostics; using System.Security.Permissions; /// /// Specifies whether a property should be localized. /// [AttributeUsage(AttributeTargets.All)] public sealed class LocalizableAttribute : Attribute { private bool isLocalizable = false; /// /// /// Initializes a new instance of the class. /// /// public LocalizableAttribute(bool isLocalizable) { this.isLocalizable = isLocalizable; } /// /// /// Gets a value indicating whether /// a property should be localized. /// /// public bool IsLocalizable { get { return isLocalizable; } } /// /// /// Specifies that a property should be localized. This /// field is read-only. /// /// public static readonly LocalizableAttribute Yes = new LocalizableAttribute(true); /// /// /// Specifies that a property should not be localized. This /// field is read-only. /// /// public static readonly LocalizableAttribute No = new LocalizableAttribute(false); /// /// /// Specifies the default value, which is , that is /// a property should not be localized. This field is /// read-only. /// /// public static readonly LocalizableAttribute Default = No; /// /// /// public override bool IsDefaultAttribute() { return (IsLocalizable == Default.IsLocalizable); } public override bool Equals(object obj) { LocalizableAttribute other = obj as LocalizableAttribute; return (other != null) && other.IsLocalizable == this.isLocalizable; } public override int GetHashCode() { return base.GetHashCode(); } } }