我有一个方法,通过在另一个方法之前和之后运行一些逻辑来A包装另一个方法的执行。B该方法B可以是任务,也可以不是。因此,为了能够await在该方法B执行任务时,我必须实现两次该A方法,如下所示:
public async Task A(int id, Action<int> b)
{
try
{
await BeforeAsync(id);
b(id);
await AfterAsync(id);
}
catch (Exception ex)
{
Handle(ex, id);
}
}
public async Task A(int id, Func<int,Task> b)
{
try
{
await BeforeAsync(id);
await b(id);
await AfterAsync(id);
}
catch (Exception ex)
{
Handle(ex, id);
}
}
有没有办法避免重复?
智慧大石
湖上湖
慕尼黑8549860
相关分类