e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
88 lines
3.1 KiB
C#
88 lines
3.1 KiB
C#
//------------------------------------------------------------------------------
|
|
// <copyright file="PasswordPropertyTextAttribute.cs" company="Microsoft">
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// </copyright>
|
|
//------------------------------------------------------------------------------
|
|
|
|
namespace System.ComponentModel {
|
|
|
|
using System;
|
|
using System.Security.Permissions;
|
|
|
|
/// <devdoc>
|
|
/// If this attribute is placed on a property or a type, its text representation in a property window
|
|
/// will appear as dots or astrisks to indicate a password field. This indidation in no way
|
|
/// represents any type of encryption or security.
|
|
/// </devdoc>
|
|
[AttributeUsage(AttributeTargets.All)]
|
|
public sealed class PasswordPropertyTextAttribute : Attribute {
|
|
|
|
/// <devdoc>
|
|
/// Sets the System.ComponentModel.Design.PasswordPropertyText
|
|
/// attribute by default to true.
|
|
/// </devdoc>
|
|
public static readonly PasswordPropertyTextAttribute Yes = new PasswordPropertyTextAttribute(true);
|
|
|
|
/// <devdoc>
|
|
/// Sets the System.ComponentModel.Design.PasswordPropertyText
|
|
/// attribute by default to false.
|
|
/// </devdoc>
|
|
public static readonly PasswordPropertyTextAttribute No = new PasswordPropertyTextAttribute(false);
|
|
|
|
|
|
/// <devdoc>
|
|
/// Sets the System.ComponentModel.Design.PasswordPropertyText
|
|
/// attribute by default to false.
|
|
/// </devdoc>
|
|
public static readonly PasswordPropertyTextAttribute Default = No;
|
|
|
|
private bool _password;
|
|
|
|
/// <devdoc>
|
|
/// Creates a default PasswordPropertyTextAttribute.
|
|
/// </devdoc>
|
|
public PasswordPropertyTextAttribute() : this(false) {
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// Creates a PasswordPropertyTextAttribute with the given password value.
|
|
/// </devdoc>
|
|
public PasswordPropertyTextAttribute(bool password) {
|
|
_password = password;
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// Gets a value indicating if the property this attribute is defined for should be shown as password text.
|
|
/// </devdoc>
|
|
public bool Password {
|
|
get {
|
|
return _password;
|
|
}
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// Overload for object equality
|
|
/// </devdoc>
|
|
public override bool Equals(object o) {
|
|
if (o is PasswordPropertyTextAttribute) {
|
|
return ((PasswordPropertyTextAttribute)o).Password == _password;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// Returns the hashcode for this object.
|
|
/// </devdoc>
|
|
public override int GetHashCode() {
|
|
return base.GetHashCode();
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// Gets a value indicating whether this attribute is set to true by default.
|
|
/// </devdoc>
|
|
public override bool IsDefaultAttribute() {
|
|
return this.Equals(Default);
|
|
}
|
|
}
|
|
}
|