Пример #1
0
        public static InstanceVisitor CreateForInstance <TStrategy>(Type type, object instance, AlgorithmKind kind, bool repeatable, bool liteMode, TStrategy strategy, bool strictMode)
            where TStrategy : class, ILeoValidationStrategy, new()
        {
            var handler = SafeLeoHandleSwitcher.Switch(kind)(type);
            var visitor = new InstanceVisitor(handler, type, instance, kind, repeatable, liteMode, strictMode);

            visitor.ValidationEntry.SetStrategy(strategy);
            return(visitor);
        }
Пример #2
0
        public static InstanceVisitor <T> CreateForInstance <T, TStrategy>(T instance, AlgorithmKind kind, bool repeatable, bool liteMode, bool strictMode)
            where TStrategy : class, ILeoValidationStrategy <T>, new()
        {
            var handler = UnsafeLeoHandleSwitcher.Switch <T>(kind)().With <T>();
            var visitor = new InstanceVisitor <T>(handler, instance, kind, repeatable, liteMode, strictMode);

            visitor.ValidationEntry.SetStrategy <TStrategy>();
            return(visitor);
        }