我有一个类
public class MyService
{
public IList<Exception> ExList {get; private set;}
public bool HasErrors { get { return ExList.Count > 0; } }
public MyMethod()
{
ExList.Clear();
//- do some logic ---
}
}
我希望调用MyMethod()函数并检查是否发生了错误,类似于以下代码:
var service = new MyService();
service.MyMethod();
if(service.HasErrors)
{
// - do some logic
}
service.MyMethod();
if(service.HasErrors)
{
// - do some logic
}
但是我必须为MyService类中的每个方法手动编写"ExList.Clear();"代码行。 问题是 - 有没有避免这种情况的解决方案?
我需要像下面这样的东西:
public class MyService
{
public IList<Exception> ExList {get; private set;}
public bool HasErrors { get { return ExList.Count > 0; } }
private void Precondition()
{
ExList.Clear();
}
public MyMethod()
{
//- do some logic ---
}
}
并且 Precondition() 会在每个方法调用时自动调用。
out
List
参数,而不是一个全局的IList
。这样你就可以在方法调用之间维护异常列表。 - Jamie Dixon