IObjectSetter IFluentSetter.NewInstance(bool strictMode) { var clone = _options .Clone(x => x.LiteMode = LvMode.LITE) .With(x => x.StrictMode = strictMode); if (_type.IsAbstract && _type.IsSealed) { return(ObjectVisitorFactoryCore.CreateForStaticType(_type, clone)); } return(ObjectVisitorFactoryCore.CreateForFutureInstance(_type, clone.With(x => x.Repeatable = RpMode.NON_REPEATABLE))); }
IObjectGetter IFluentGetter.InitialValues(IDictionary <string, object> initialValues) { var clone = _options .Clone(x => x.LiteMode = LvMode.LITE) .With(x => x.StrictMode = StMode.NORMALE); if (_type.IsAbstract && _type.IsSealed) { var visitor = ObjectVisitorFactoryCore.CreateForStaticType(_type, clone); visitor.SetValue(initialValues); return(visitor); } return(ObjectVisitorFactoryCore.CreateForFutureInstance(_type, _options.With(x => x.Repeatable = RpMode.NON_REPEATABLE), initialValues)); }