Esempio n. 1
0
        public T ParseAndValidate <T>(string question, TryParse <T> convert, string error, Func <T, bool> isValid)
        {
            if (isValid is null)
            {
                throw new ArgumentNullException(nameof(isValid));
            }

            return(ParseAndValidate(question, convert, error, v => isValid(v) ? TryResult <T> .Succeed(v) : error));
        }
        private TryResult ValidateStartIndex(IReadOnlyList <string> pattern)
        {
            if (pattern.Count < 1)
            {
                return("Sequence must contain at least one element");
            }
            if (!int.TryParse(pattern[0], out var startIndex) || startIndex != 1)
            {
                return("Sequence must start with the number 1");
            }

            return(TryResult.Succeed());
        }