/// <summary> /// Initializing this object. /// </summary> private void Initialize() { CharacteristicDictionary tmp; _length = _value.Length; _lower = 0; _upper = 0; _spaces = 0; _specials = 0; foreach (char c in _value) { switch (GetCharasteristic(c)) { case Charasteristic.LowercaseLetter: _lower++; break; case Charasteristic.CapitalLetter: _upper++; break; case Charasteristic.Space: _spaces++; break; case Charasteristic.Numeric: _numbers++; break; case Charasteristic.SpecialCharacter: _specials++; break; default: break; } } tmp = new CharacteristicDictionary(this, Container); Characteristics = tmp; }
/// <summary> /// When the password changes, all variables must be updated as well. /// </summary> /// <param name="sender">The sending object.</param> /// <param name="e">The ChangeEventArg.</param> private void Password_OnChange(object sender, ChangeEventArgs <IPassword> e) { if (e?.NewValue != null) { _value = e.NewValue.Value; _length = e.NewValue.Length; _lower = e.NewValue.LowerCases; _upper = e.NewValue.UpperCases; _spaces = e.NewValue.Spaces; _specials = e.NewValue.Specials; Characteristics = e.NewValue.Characteristics; } else { _length = 0; _lower = 0; _upper = 0; _spaces = 0; _specials = 0; _numbers = 0; Characteristics = new CharacteristicDictionary(this, Container); } }