using System.Reflection.Metadata.Ecma335; namespace Validation.Core { /// /// 校验结果 /// public class ValidationResult { /// /// 是否合法 /// public bool IsValid { get; set; } = true; /// /// 错误 /// public List Errors { get; set; } = new List(); /// /// 警告 /// public List Warnings { get; set; } = new List(); /// /// 添加错误信息 /// /// 错误信息 public void AddError(int row, string error) { Errors.Add(new ValidationMessage(row, error)); IsValid = false; } /// /// 添加警告信息 /// /// 警告信息 public void AddWarning(int row, string warning) { Warnings.Add(new ValidationMessage(row, warning)); IsValid = false; } /// /// 返回验证结果的字符串表示 /// /// 包含验证结果详细信息的字符串 public override string ToString() { var sb = new System.Text.StringBuilder(); sb.AppendLine($"验证结果: {(IsValid ? "通过" : "失败")}"); sb.AppendLine($"错误数量: {Errors.Count}"); sb.AppendLine($"警告数量: {Warnings.Count}"); AppendMessages(sb, "错误", Errors); AppendMessages(sb, "警告", Warnings); return sb.ToString(); } private void AppendMessages(System.Text.StringBuilder sb, string messageType, List messages) { if (messages.Count > 0) { sb.AppendLine($"{messageType}详情:"); foreach (var message in messages) { sb.AppendLine($" 第{message.RowIndex}行: {message.Message}"); } } } } }