using FluentValidation; using FluentValidation.Results; namespace Kean.Domain { /// /// 验证 /// public abstract class CommandValidator : AbstractValidator, ICommand where T : class, ICommand { /// /// 获取验证结果 /// public virtual ValidationResult ValidationResult { get; protected set; } /// /// 验证项 /// internal protected abstract void Validation(); /// /// 命令验证 /// internal void Validate() => ValidationResult = Validate(this as T); } }