我想知道从将在 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; }
}
我目前正在做选项 1,因为我认为选项 2 中的装箱和拆箱可能是一个痛点。有任何想法吗?