Esempio n. 1
0
        private MapperWrapper <T> BuildJsonSerializator <T>()
        {
            lock (_lock)
            {
                var existingWrapper = JsonSerializatorCache <T> .GetJsonSerializator(this);

                if (existingWrapper != null)
                {
                    return(existingWrapper);
                }
                MapperWrapper <T> createdWrapper = BuildMapperWrapperSync <T>();
                JsonSerializatorCache <T> .Register(createdWrapper);

                _mapperWrappers.Add(createdWrapper);
                return(createdWrapper);
            }
        }
Esempio n. 2
0
        internal bool RegisterMapper <T>(IJsonMapper <T> mapper)
        {
            if (mapper == null)
            {
                return(false);
            }
            lock (_lock)
            {
                if (_frozen || _disposed)
                {
                    return(false);
                }
                UnregisterMapperSync <T>();
                MapperWrapper <T> wrapper = new MapperWrapper <T>(this, mapper);
                JsonSerializatorCache <T> .Register(wrapper);

                _mapperWrappers.Add(wrapper);
                return(true);
            }
        }