using System.Collections.Generic;
private List<Func<string, bool>> validationRules = new List<Func<string, bool>>();
public void AddValidationRule(Func<string, bool> validationFunction)
validationRules.Add(validationFunction);
public void RemoveValidationRule(Func<string, bool> validationFunction)
validationRules.Remove(validationFunction);
public bool Validate(string validationString)
return validationRules.TrueForAll(f => f(validationString));
public bool RandomFunction(string s)
Console.WriteLine("Random");
AddValidationRule( RandomFunction );
AddValidationRule( (Func<string, bool>)delegate(string s) { return (s.Length % 2) == 0; } );
AddValidationRule( (Func<string, bool>)delegate(string s) { return s.Length > 2; } );
AddValidationRule( (Func<string, bool>)delegate(string s) { return s[0] == 'A'; } );
Console.WriteLine(Validate("Anus"));
Console.WriteLine(Validate("Anuss"));
RemoveValidationRule( (Func<string, bool>)delegate(string s) { return (s.Length % 2) == 0; } );
RemoveValidationRule( RandomFunction );
Console.WriteLine(Validate("Anuss"));