委托字面上的理解就是让别人做事,程序上的委托也差不多这个意思,不过委托的实现需要的步骤,体现的每词实现委托的过程中:
第一步:委托的声明:添加一个实例的委托
public delegate void ClientPipelineObjectModules(Request request);
这个就是添加了一个参数request类型的委托声明
第二步:委托的实例化,这个跟普通类的实例化是一样的
private ClientPipelineObjectModules modules;
第三步:给委托实例添加实例化方法,这个地方需要注意
1)直接实现一个方法,然后赋值给委托实例
2) 把方法直接给委托,叫匿名委托
3)把委托实例复制给委托实例,我觉得这种方式才算是真正把委托的强大体现出来了,如下
public void AddModele(ClientPipelineObjectModules module)
{
modules += module;
}
第四步:委托的使用,就是直接运行委托中的方法
public void RunPipeline(Request request)
{
modules(request);
}