다음 설정으로 .FirstOrDefault()
을 없애는 방법이 있습니까? yield 문을 사용하는 것을 좋아하지만, IsRequired 메서드를 축약하고 싶습니다. .FirstOrDefault()
을 사용해야합니다.대안 수율 쓰기
PlayerValidator
protected override IEnumerable<ValidationResult> Validate(PlayerModel entity, IValidationProvider validationProvider)
{
yield return ValidationResultHelper.IsRequired(entity.Profile.FirstName, "First Name").FirstOrDefault();
if (string.IsNullOrWhiteSpace(entity.Profile.LastName))
yield return new Required("Last Name");
}
ValidatorHelper
public IEnumerable<ValidationResult> IsRequired(string text, string name)
{
if (string.IsNullOrWhiteSpace(text))
yield return new Required(name);
}
'FirstName'이 유효하면 코드가 'null'을 반환 할 예정입니까? –
아니, 그냥 성 반환처럼 아무것도. –
글쎄, 나는 '수익률 반환'의 거장은 아니지만'FirstOrDefault'의'OrDefault' 부분이'FirstName'이'null' 또는 공백이 아닌 경우'null' 값을 돌려주지 않을까요? –