委托

class Operation
{
public Action DefaultSuccessCallback { get; set; }

public Action DefaultFailureCallback { get; set; }

public Operation InnerOperation { get; set; }

public object Operate(object input, Action successCallback ,Action failureCallback)
{
if (successCallback == null )
{
successCallback = this.DefaultSuccessCallback;
}


if (failureCallback == null )
{
failureCallback = this.DefaultFailureCallback; ;
}

object result = null;
try
{
result = this.InnerOperation.Operate(input, successCallback, failureCallback);
}
catch (Exception)
{
failureCallback.Invoke();
//throw;
}

successCallback.Invoke();
return result;
}
}

posted @ 2024-08-12 18:02  彭二狗的牵引绳  阅读(9)  评论(0)    收藏  举报