假设我有以下方法。在一些来
public IEnumerable<ValidationResult> Validate(UserLoginCommand command)
{
User user = userRepository.Get(u => u.Email == command.UserEmail);
if(user != null)
{
if(!user.Activated)
{
return new IEnumerable<ValidationResult>() {new ValidationResult("NotActived", Resources.UserNotActivated)};
}
if(user.IsPasswordIncorrent)
{
yield return new ValidationResult("IncorrectPassword", Resources.IncorrentPassword);
}
}
}
实际情况实际上要复杂一些,但出于说明目的,我遗漏了很多内容。
关键是在某些情况下,我想迭代器继续收集多个错误......但在其他情况下,有一个致命错误,我只想返回一个错误,但它不会让我:
Iterator cannot contain return statement
我应该怎么办?