/// <summary>
        /// Verify the entire entity <br />
        /// 验证入口
        /// </summary>
        /// <param name="instance"></param>
        /// <returns></returns>
        public VerifyResult Verify(T instance)
        {
            if (instance is null)
            {
                return(_options.ReturnNullReferenceOrSuccess());
            }

            VerifyResult result1 = null, result2 = null, result3 = null;
            var          context = _objectResolver.Resolve(instance);

            if (_projectManager.TryResolve(_type, _name, out var project))
            {
                result1 = project.Verify(context);
            }

            if (_options.CustomValidatorEnabled)
            {
                result2 = CorrectEngine.ValidViaCustomValidators(context, _customValidatorManager.ResolveAll());
            }

            if (_options.AnnotationEnabled)
            {
                result3 = _annotationValidator.Verify(context);
            }

            if (result1 is null && result2 is null && result3 is null)
            {
                return(_options.ReturnUnregisterProjectForSuchTypeOrSuccess());
            }

            return(result1 is null
                ? VerifyResult.MakeTogether(result2, result3)
                : VerifyResult.Merge(result1, result2, result3));
        }