Example #1
0
        public static StaticTypeObjectVisitor <T> CreateForStaticType <T, TStrategy>(ObjectVisitorOptions options)
            where TStrategy : class, IValidationStrategy <T>, new()
        {
            options ??= ObjectVisitorOptions.Default;
            var handler = UnsafeObjectHandleSwitcher.Switch <T>(options.AlgorithmKind)().With <T>();
            var visitor = new StaticTypeObjectVisitor <T>(handler, options);

            visitor.VerifiableEntry.SetStrategy <TStrategy>();
            return(visitor);
        }
Example #2
0
        public static StaticTypeObjectVisitor CreateForStaticType <TStrategy>(Type type, ObjectVisitorOptions options, TStrategy strategy)
            where TStrategy : class, IValidationStrategy, new()
        {
            options ??= ObjectVisitorOptions.Default;
            var handler = SafeObjectHandleSwitcher.Switch(options.AlgorithmKind)(type);
            var visitor = new StaticTypeObjectVisitor(handler, type, options);

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