前言
根据switch判断执行指定函数。
一、步骤
1.声明异步委托
代码如下:
private delegate Task<int> NodeDelete(string[] ids);
2.数据判断
代码如下(示例):
private NodeDelete DeleteDelegate(NodeType nodeType)
{
return nodeType switch
{
NodeType.CORP => _orgSer.DeleteOrg,
NodeType.PLACE => _addrSer.DeleteAddr,
NodeType.AREA => _addrSer.DeleteAddr,
NodeType.POZ => _pozSer.DeletePoz,
_ => throw Oops.Oh(ErrorCode.D1501)//自定义的错误处理
};
}
3.调用
代码如下:
NodeDelete deleMeath = new NodeDelete(DeleteDelegate(nodeType));//获得需要执行的函数
return await deleMeath(new string[] { id });//执行;
注意:函数参数与与返回值需要相同