Exemplo n.º 1
0
        public void Register(ITypeHandler typeHandler)
        {
            if (!_typeHandlerMap.TryGetValue(typeHandler.PropertyType, out var fieldTypeHandlerMap))
            {
                fieldTypeHandlerMap = new Dictionary <Type, ITypeHandler>();
                _typeHandlerMap.Add(typeHandler.PropertyType, fieldTypeHandlerMap);
            }

            if (fieldTypeHandlerMap.ContainsKey(typeHandler.FieldType))
            {
                fieldTypeHandlerMap[typeHandler.FieldType] = typeHandler;
            }
            else
            {
                fieldTypeHandlerMap.Add(typeHandler.FieldType, typeHandler);
            }

            TypeHandlerCacheType.SetHandler(typeHandler);
            PropertyTypeHandlerCacheType.SetHandler(typeHandler);
        }