ASP.NET MVC で使用されるサービス層から検証結果を返すためのベスト プラクティスまたは提案を知りたいです。
オプション1
public IEnumberable<ValidationResult> Foo(int userId, out videoId)
{
var validationResults = new List<ValidationResult>();
// Validation logic goes here...
videoId = _videoService.AddVideo();
return validationResults;
}
オプション 2
public ServiceResult Foo(int userId)
{
var validationResults = new List<ValidationResult>();
var serviceResult = new ServiceResult();
// Validation logic goes here...
serviceResult.ReturnObject = _videoService.AddVideo();
serviceResult.ValidationResults = validationResults;
return serviceResult;
}
public class ServiceResult
{
public IEnumberable<ValidationResult> ValidationResults { get; set; }
public object ReturnObject { get; set; }
}
オプション2のボックス化とボックス化解除が問題になる可能性があるため、現在オプション1を実行していました。何か案は?