コード例 #1
0
        private IEnumerable <MM.Message> Constituents(MM.Message msg)
        {
            MM.Batch bMsg = msg as MM.Batch;
            if (bMsg != null)
            {
                foreach (var m in bMsg.Messages)
                {
                    yield return(m);
                }
            }
            else
            {
                if (Family)
                {
                    while (msg != null)
                    {
                        yield return(msg);

                        msg = msg.DerivedFrom;
                    }
                }
                else
                {
                    yield return(msg);
                }
            }
        }
コード例 #2
0
 public bool WhileCondition(MM.Message msg)
 {
     try
     {
         return(While.EvaluateBool(new MessageContext(msg, this)));
     }
     catch (Exception ex)
     {
         logger.Warn(ex, "{0} thrown when evaluating Skip While expression: {1}", ex.GetType().Name, ex.Message);
         return(false);
     }
 }