public class Class1
{
/// <summary>
/// 委托类型
/// </summary>
/// <param name="ismove">是否向下执行的标识</param>
public delegate void Print(ref string ismove);
/// <summary>
/// 委托实例
/// </summary>
Print p;
/// <summary>
///默认构造函数
/// </summary>
public Class1()
{
//添加四个方法
Print p = new Print(method1);//第一个方法用来实例化委托第一个实例
p += method2;
p += method3;
p += method4;
}
/// <summary>
/// 开始执行委托链
/// </summary>
/// <returns></returns>
public string run()
{
string ismove = "yes";
p(ref ismove);
return ismove;
}
public void method1(ref string ismove)
{
if (ismove == "yes")//判断是否要继续向下执行
{ }
}
public void method2(ref string ismove)
{
if (ismove == "yes")//判断是否要继续向下执行
{
//我这里执行出了问题,不想继续向下执行了
ismove = "no";//后面的所有方法都不会执行
}
} public void method3(ref string ismove)
{
if (ismove == "yes")//判断是否要继续向下执行
{ }
}
public void method4(ref string ismove)
{
if (ismove == "yes")//判断是否要继续向下执行
{ }
}
|