Преобразовать в группу методов Resharper
Я написал метод ниже:
internal static IList<EmpowerTaxView> GetEmpowerTaxViewsByLongAgencyAndAgencyTaxTypes(
IList<EmpowerCompanyTaxData> validEmpowerCompanyTaxDatas,
IList<EmpowerTaxView> empowerTaxViews)
{
IList<EmpowerTaxView> result = new List<EmpowerTaxView>();
foreach (EmpowerCompanyTaxData empowerCompanyTaxData in validEmpowerCompanyTaxDatas)
{
IList<EmpowerTaxView> validEmpowerTaxViews =
GetEmpowerTaxViewsByLongAgencyAndTaxType(
empowerCompanyTaxData, empowerTaxViews);
validEmpowerTaxViews.ToList().ForEach(delegate(EmpowerTaxView etv)
{
result.Add(etv);
});
}
return result;
}
И для этого метода, resharper говорит:
validEmpowerTaxViews.ToList().ForEach(delegate(EmpowerTaxView etv)
{
result.Add(etv);
});
Преобразовать в группу методов. Что это значит и что нужно сделать, чтобы избавиться от этого.
Ответы
Ответ 1
JaredPar уже предоставил правильный ответ, я просто хотел предложить более простую реализацию метода:
internal static IList<EmpowerTaxView> GetEmpowerTaxViewsByLongAgencyAndAgencyTaxTypes(
IList<EmpowerCompanyTaxData> validEmpowerCompanyTaxDatas,
IList<EmpowerTaxView> empowerTaxViews)
{
var results =
from empowerCompanyTaxData in validEmpowerCompanyTaxDatas
from etv in GetEmpowerTaxViewsByLongAgencyAndTaxType(
empowerCompanyTaxData, empowerTaxViews)
select etv;
return results.ToList();
}
Ответ 2
Что означает Resharper, так это то, что вы можете выразить код ForEach
проще, используя группу методов Add
.
Пример:
validEmpowerTaxViews.ToList().Foreach(result.Add);
Группа методов, определенная Add
, совместима с делегатом, ожидаемым ForEach
, и, следовательно, компилятор С# позаботится об этом. По умолчанию в Resharper предпочтение отдается группам методов над lambdas и явным заявлениям о создании делегатов.
Ответ 3
Примите предложение Resharper, чтобы узнать, какие изменения он внесет. Вы всегда можете их отменить.
Если вы не удовлетворены этим изменением и не хотите, чтобы Resharper предлагал его в будущем, вы можете отключить этот конкретный вариант - остальные останутся доступными. Подробнее см. Здесь.
Resharper: vars