我有很多内容不同的函数,但参数和try catch几乎相似。 有没有办法封装这些函数以减少重复代码?
ResponseStatus GetPotatoList(GetPotatosRequest requestParam, out GetPotatosResponse response, out ResponseErrorType errorType)
{
ResponseStatus status = ResponseStatus.Fail;
response = new GetPotatosResponse();
//To Do
try
{
//To Do
status = ResponseStatus.Success;
}
catch(CustomException ex)
{
errorType = ResponseErrorType.CustomError;
}
catch(TimeoutException ex)
{
errorType = ResponseErrorType.Timeout;
}
catch(Exception ex)
{
errorType = ResponseErrorType.GeneralFailure;
}
return status;
}
Action<int>
,你可以这样设置它:(myInt) => doSomething(myInt)
,并像这样使用它:action1(213);
;如果你还不知道,我邀请你搜索“C# lambdas”以了解它的工作原理。 - Kilazur