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);
        }