private FriendlyMessage?EvaluatePattern(IFriendlyMessagePattern pattern)
        {
            try
            {
                if (pattern.IsMatch(_part))
                {
                    foreach (var subPattern in pattern.SubPatterns)
                    {
                        var message = EvaluatePattern(subPattern);

                        if (message != null)
                        {
                            return(message);
                        }
                    }

                    var formattedMessage = FriendlyMessageFormatter.GetString(pattern.TryGetFriendlyMessage(_part), _context.EvaluatedExpressions);

                    return(new FriendlyMessage(formattedMessage, pattern));
                }
            }
            catch
            {
                return(null);
            }

            return(null);
        }
Пример #2
0
 public ExpressionInterpreter(Expression expression, IFriendlyMessagePattern pattern)
 {
     _expression = expression;
     _pattern    = pattern;
 }
Пример #3
0
 internal FriendlyMessage(string?message, IFriendlyMessagePattern pattern)
 {
     Message = message;
     Pattern = pattern;
 }