/// <summary> /// Match condition /// </summary> /// <param name="condition">Condition to evaluate</param> /// <param name="action">Action to call if pattern match</param> public PatternMatch <T> When(Func <T, bool> condition, Action action) { _inner.When(condition, () => { action(); return(Nothing.Instance); }); return(this); }