public Boolean TryConvert(ICssValue value, Action <Tuple <T1, T2> > setResult) { var values = value as CssValueList; if (values != null) { values = values.Copy(); } else if (value != null) { values = new CssValueList(value); } else { values = new CssValueList(); } if (values.Length < MinArgs && values.Length > MaxArgs) { return(false); } var t1 = default(T1); var t2 = default(T2); if (!_first.VaryAll(values, m => t1 = m) || !_second.VaryAll(values, m => t2 = m) || values.Length != 0) { return(false); } setResult(Tuple.Create(t1, t2)); return(true); }
public static Boolean VaryAll <T>(this IValueConverter <T> converter, CssValueList list) { return(converter.VaryAll(list, (c, v) => c.Validate(v))); }
public static Boolean VaryAll <T>(this IValueConverter <T> converter, CssValueList list, Action <T> setResult) { return(converter.VaryAll(list, (c, v) => c.TryConvert(v, setResult))); }