最近在项目开发过程中,发现有很多这样的类似代码:

try
{
	Do();
}
catch (Exception ex)
{
	Log(ex);
}
finally
{
	DoOther();
}

  都是Ctrl + C, Ctrl + V 。做起来真的太麻烦。

  后来发现了 C# 不太常用的 Func 委托。通过如下的改造 代码简洁了很多。

 

        private void CallMethod<T>(Func<T, int> func, T item) 
        {
            try
            {
                func(item);
            }
            catch (Exception e)
            {
                Log(e);
            }
            finally
            {
                DoOther();
            }
        }

 

 调用方法:

 

CallMethod(new Func<string, int>(MethodTest), "Hello");
private void MethodTest()
{
    Do();
}

 

这样做 避免了重复的 try...catch...finally

 

 

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-26
  • 2022-12-23
猜你喜欢
  • 2021-12-01
  • 2022-12-23
  • 2022-12-23
  • 2022-03-07
  • 2022-12-23
相关资源
相似解决方案