public bool Filter(ref VariableChangeEvent <string> changeEvent) { var value = changeEvent.Value; var builder = new StringBuilder(); foreach (var c in value) { if (!char.IsControl(c) || char.IsWhiteSpace(c)) { builder.Append(c); } } value = builder.ToString(); if (value.Length == 0) { value = _emptyValue; } changeEvent.Value = value; return(true); }
public void OnChange(ref VariableChangeEvent <T> changeEvent) { foreach (var filter in _filters) { if (!filter.Filter(ref changeEvent)) { changeEvent.Veto = true; return; } } }
public bool Filter(ref VariableChangeEvent <T> changeEvent) { //This takes advantage of the fact that default values are 0 for numeric types //Will not work quite as well for other types return((changeEvent.Value.CompareTo(default) < 0) ^ _positive);
public bool Filter(ref VariableChangeEvent <string> changeEvent) { changeEvent.Value = changeEvent.Value.Trim(); return(true); }
public bool Filter(ref VariableChangeEvent <string> changeEvent) { return(_regex.IsMatch(changeEvent.Value)); }
public bool Filter(ref VariableChangeEvent <string> changeEvent) { return(_strings.Contains(changeEvent.Value)); }
public bool Filter(ref VariableChangeEvent <T> changeEvent) { return(_delegate(ref changeEvent)); }
public bool Filter(ref VariableChangeEvent <T> changeEvent) { return(!_filter.Filter(ref changeEvent)); }