如何代码复用?
下面三个方法,唯一不同的就是红色部分的调用方法,有没有什么办法可以进行提炼,让代码更加简洁,目前看啦比较臃肿
public SmsStatus SearchBalance()
{
SmsStatus entity_status = new SmsStatus();
if (string.IsNullOrEmpty(strSmsType))
{
return CreateErrorStatus("短信通道类型没有配置");
}
foreach (var _do in DoList.Where(item => item.Metadata.Depict == strSmsType))
{
entity_status = _do.Value.SearchBalance();
}
return entity_status;
}
public SmsStatus SearchKeyword(string strSms)
{
SmsStatus entity_status = new SmsStatus();
if (string.IsNullOrEmpty(strSmsType))
{
return CreateErrorStatus("短信通道类型没有配置");
}
foreach (var _do in DoList.Where(item => item.Metadata.Depict == strSmsType))
{
entity_status = _do.Value.SearchKeyword(strSms);
}
return entity_status;
}
public SmsStatus SearchSendResult(string strTaskID)
{
SmsStatus entity_status = new SmsStatus();
if (string.IsNullOrEmpty(strSmsType))
{
return CreateErrorStatus("短信通道类型没有配置");
}
foreach (var _do in DoList.Where(item => item.Metadata.Depict == strSmsType))
{
entity_status = _do.Value.SearchSendResult(strTaskID);
}
return entity_status;
}