using System.Collections.Generic;
namespace XericUI.ReflectionUIGenerator
{
///
/// 单个成员的详细验证结果
///
public struct AvrgMemberValidationResult
{
/// 验证的元数据
public AvrgMemberMetaData MetaData { get; set; }
/// 验证结果
public AvrgMemberCheckResult Result { get; set; }
/// 当前值(字符串形式,便于显示)
public string CurrentValueString { get; set; }
/// 验证消息(说明原因)
public string Message { get; set; }
/// 是否通过验证
public bool IsPassed => Result == AvrgMemberCheckResult.Valid
|| Result == AvrgMemberCheckResult.Skipped
|| Result == AvrgMemberCheckResult.Warning; // Warning 视为通过但需注意
}
///
/// 完整验证结果集合
///
public class AvrgValidationResultSet
{
/// 所有成员的验证结果
public List Results { get; set; } = new List();
/// 未验证通过的条目数(Empty + Invalid)
public int FailedCount
{
get
{
int count = 0;
foreach (var r in Results)
{
if (r.Result == AvrgMemberCheckResult.Empty || r.Result == AvrgMemberCheckResult.Invalid)
count++;
}
return count;
}
}
/// 警告条目数
public int WarningCount
{
get
{
int count = 0;
foreach (var r in Results)
{
if (r.Result == AvrgMemberCheckResult.Warning)
count++;
}
return count;
}
}
/// 是否全部通过(无失败项)
public bool IsAllPassed => FailedCount == 0;
}
}