writeline.cs

来自「WF本质论一书的源码,要书籍的朋友同我联系.」· CS 代码 · 共 44 行

CS
44
字号
using System;
using System.Workflow.ComponentModel;
using System.ComponentModel;
using EssentialWF.Services;


namespace EssentialWF.Activities {
    public class WriteLine : Activity {
        public static readonly DependencyProperty TextProperty =   DependencyProperty.Register("Text",typeof(string), typeof(WriteLine));
      
        public string Text {
          get { return (string) GetValue(TextProperty); }
          set { SetValue(TextProperty, value); }
        }
      
        protected override ActivityExecutionStatus Execute(ActivityExecutionContext context) {
            
          Console.WriteLine(this.Text);
          return ActivityExecutionStatus.Closed;
        }
    }

    public class AsyncWriteLine : Activity {
        public static readonly DependencyProperty TextProperty = DependencyProperty.Register("Text",typeof(string), typeof(AsyncWriteLine));

        public string Text {
          get { return (string) GetValue(TextProperty); }
          set { SetValue(TextProperty, value); }
        }
        protected override ActivityExecutionStatus Execute(ActivityExecutionContext context) {
            base.Invoke(ContinueAt, EventArgs.Empty);
            return ActivityExecutionStatus.Executing;
        }
        void ContinueAt(object sender, EventArgs e) {
            ActivityExecutionContext context = sender as ActivityExecutionContext;

            WriterService writer = context.GetService<WriterService>();
            writer.Write(this.Text);

            context.CloseActivity();
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?