Представьте себе что-то вроде этого ...
public class Result
{
public string Name {get; set;}
public int Score {get; set;}
public bool Pass {get; set;}
}
И метод c stati ...
public static Result SetPass(this Result result)
{
result.Pass = result.Score > 50;
return result;
}
Мой вопрос: должен ли я вернуть результат или это уже модифицировано на месте? Могу ли я сделать возвращаемый тип недействительным, а затем выполнить итерацию по коллекции результатов и внести изменения на месте следующим образом ...
foreach (var result in results)
{
result.SetPass();
}
или мне нужно вернуть объект результата и переназначить его?