public static IValitRule <TObject, TProperty> WithErrorCode <TObject, TProperty>(this IValitRule <TObject, TProperty> rule, int errorCode) where TObject : class { rule.ThrowIfNull(ValitExceptionMessages.NullRule); var accessor = rule.GetAccessor(); var error = ValitRuleError.CreateForErrorCode(errorCode); accessor.AddError(error); return(rule); }