开源项目dropthings的工作流接口IWorkflowHelper

来源:互联网 发布:汉语言文学学什么知乎 编辑:程序博客网 时间:2024/06/05 15:26

这是开源项目dropthings的工作流接口IWorkflowHelper

系统版本 Dropthings-2.1

namespace Dropthings.Business.Workflows {     using System;     using System.Workflow.Runtime;     public interface IWorkflowHelper     {         #region Methods         void ExecuteWorkflow(WorkflowRuntime runtime, Type workflowType, System.Collections.Generic.Dictionary<string, object> properties);         TResponse ExecuteWorkflow<TWorkflow, TRequest, TResponse>(WorkflowRuntime runtime, TRequest request)             where TResponse : new();         #endregion Methods     } }


 

其中,定义了执行工作流的2个方法。主要是负责初始化工作流的执行环境及准备执行工作流。
在第二个方法中,用到了c#2005(C#2.0)中添加的新功能泛型。
这个功能,在c#2008(c#3.0)中没有变化。
TWorkflow, TRequest, TResponse是泛型类型描述性的名称,用字母T作为前缀,可以用任意类来代替他们。
where TResponse : new() 是一个构造器约束,TResponse必须要有一个默认构造器。
并且,在clr2.0中(.net2 /3/3.5的clr都是clr2.0),只能为默认构造器定义约束,而不能为其他构造器。

在c#的说明文档中,有如下的提示:
  where子句的一个重要限制,不能定义必须有泛型类型执行的运算符,运算符不能在接口中定义。
  在where子句中,只能定义基类、接口和默认构造函数。

 

原创粉丝点击