Exemplo n.º 1
0
        public static FutureInstanceVisitor <T> CreateForFutureInstance <T, TStrategy>(ObjectVisitorOptions options, IDictionary <string, object> initialValues = null)
            where TStrategy : class, IValidationStrategy <T>, new()
        {
            options ??= ObjectVisitorOptions.Default;
            var handler = UnsafeObjectHandleSwitcher.Switch <T>(options.AlgorithmKind)().With <T>();
            var visitor = new FutureInstanceVisitor <T>(handler, options, initialValues);

            visitor.VerifiableEntry.SetStrategy <TStrategy>();
            return(visitor);
        }
Exemplo n.º 2
0
        public static FutureInstanceVisitor CreateForFutureInstance <TStrategy>(Type type, ObjectVisitorOptions options, TStrategy strategy, IDictionary <string, object> initialValues = null)
            where TStrategy : class, IValidationStrategy, new()
        {
            options ??= ObjectVisitorOptions.Default;
            var handler = SafeObjectHandleSwitcher.Switch(options.AlgorithmKind)(type);
            var visitor = new FutureInstanceVisitor(handler, type, options, initialValues);

            visitor.VerifiableEntry.SetStrategy(strategy);
            return(visitor);
        }