protected override async Task <Action <AsyncCodeActivityContext> > ExecuteAsync(AsyncCodeActivityContext context, CancellationToken cancellationToken)
        {
            int         num         = TimeoutMS.Get(context);
            string      body        = Body.Get(context);
            MailMessage mailMessage = MailMessage.Get(context);

            if (mailMessage == null)
            {
                throw new ArgumentNullException("MailMessage对象不能为空!");
            }
            MailMessage   message     = mailMessage;
            List <string> attachments = new List <string>();

            foreach (InArgument <string> file in Files)
            {
                AddAttachments(attachments, file.Get(context));
            }
            foreach (string item in AttachmentsCollection.Get(context).EmptyIfNull())
            {
                AddAttachments(attachments, item);
            }
            num = ((num <= 0) ? DefaultTimeoutMS : num);
            using (CancellationTokenSource timeoutCts = new CancellationTokenSource(num))
            {
                using (CancellationTokenSource cts = CancellationTokenSource.CreateLinkedTokenSource(timeoutCts.Token, cancellationToken))
                {
                    try
                    {
                        await OutlookAPI.ReplyToAsync(message, body, attachments, ReplyAll, cts.Token);
                    }
                    catch (OperationCanceledException)
                    {
                        if (timeoutCts.IsCancellationRequested)
                        {
                            throw new TimeoutException();
                        }
                        throw;
                    }
                }
            }
            return(delegate
            {
            });
        }