加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 如何使用返回类型的System.Action?

发布时间:2020-12-16 03:39:06 所属栏目:asp.Net 来源:网络整理
导读:在BLL课程中,我写道: Private ListT GetData(string a,string b){ TryAction(()={ //Call BLL Method to retrieve the list of BO. return BLLInstance.GetAllList(a,b); });} 在BLL基类中,我有一个方法: protected void TryAction(Action action){ try {
在BLL课程中,我写道:

Private List<T> GetData(string a,string b)
{
   TryAction(()=>{
      //Call BLL Method to retrieve the list of BO.
       return BLLInstance.GetAllList(a,b);
    });
}

在BLL基类中,我有一个方法:

protected void TryAction(Action action)
{
 try
 {
   action();
 }
 catch(Exception e)
 {
   // write exception to output (Response.Write(str))
 }
}

如何将TryAction()方法与泛型返回类型一起使用?
请有个建议.

解决方法

您需要使用Func来表示将返回值的方法.

以下是一个例子

private List<int> GetData(string a,string b)
    {
        return TryAction(() =>
        {
            //Call BLL Method to retrieve the list of BO.
            return BLLInstance.GetAllList(a,b);
        });
    }


    protected TResult TryAction<TResult>(Func<TResult> action)
    {
        try
        {
            return action();
        }
        catch (Exception e)
        {
            throw;
            // write exception to output (Response.Write(str))
        }
    }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读