/// <inheritdoc/>
        protected override void PostDeserialize()
        {
            base.PostDeserialize();

            this.serviceTypes     = new List <ServiceType>(this.ServiceTypeCollection.Cast <ServiceType>());
            this.resolverTypes    = new List <ResolverType>(this.ResolverTypeCollection.Cast <ResolverType>());
            this.serializerConfig = this.Serializer;

            var ckOperationType = this.CheckOperationTypesCfg;

            this.checkOperationTypes = (ckOperationType.Equals("true") || ckOperationType.Equals("1"));

            RegisterServiceType();
            RegisterResolverType();
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="ServiceTypeRegister"/> class.
        /// </summary>
        public ServiceTypeRegister()
        {
            this.assemblies = new HashSet<Assembly>();
            this.knownTypes = new HashSet<Type>();

            this.concreteResolvers = new Dictionary<Type, Type>();

            this.undefinedResolvers = new Dictionary<Type, Type>();
            this.undefinedResolvers.Add(typeof(IEnumerable<>), typeof(List<>));
            this.undefinedResolvers.Add(typeof(IList<>), typeof(List<>));
            this.undefinedResolvers.Add(typeof(ICollection<>), typeof(Collection<>));
            this.undefinedResolvers.Add(typeof(IDictionary<,>), typeof(Dictionary<,>));

            this.serializerConfig = new SerializerSettings();
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="ServiceTypeRegister"/> class.
        /// </summary>
        public ServiceTypeRegister()
        {
            this.assemblies = new HashSet <Assembly>();
            this.knownTypes = new HashSet <Type>();

            this.concreteResolvers = new Dictionary <Type, Type>();

            this.undefinedResolvers = new Dictionary <Type, Type>();
            this.undefinedResolvers.Add(typeof(IEnumerable <>), typeof(List <>));
            this.undefinedResolvers.Add(typeof(IList <>), typeof(List <>));
            this.undefinedResolvers.Add(typeof(ICollection <>), typeof(Collection <>));
            this.undefinedResolvers.Add(typeof(IDictionary <,>), typeof(Dictionary <,>));

            this.serializerConfig = new SerializerSettings();
        }
        /// <inheritdoc/>
        protected override void PostDeserialize()
        {
            base.PostDeserialize();

            this.serviceTypes = new List<ServiceType>(this.ServiceTypeCollection.Cast<ServiceType>());
            this.resolverTypes = new List<ResolverType>(this.ResolverTypeCollection.Cast<ResolverType>());
            this.serializerConfig = this.Serializer;

            var ckOperationType = this.CheckOperationTypesCfg;
            this.checkOperationTypes = (ckOperationType.Equals("true") || ckOperationType.Equals("1"));

            RegisterServiceType();
            RegisterResolverType();
        }