Esempio n. 1
0
        internal TypeModifierData TryGetTypeModifierData(Type t, MappingSides side)
        {
            TypeModifierData data;

            var key = new TypeDataCacheKey
            {
                Type = t,
                Side = side
            };

            if (!TypeModifierCache.TryGetValue(key, out data))
            {
                var item = TypeModifierCache.FirstOrDefault(s => s.Key.Type.IsAssignableFrom(t));

                data = item.Value;
            }

            return(data);
        }
Esempio n. 2
0
        internal void AddTypeModifierData(TypeModifierData data, MappingSides side)
        {
            TypeModifierData current;

            var key = new TypeDataCacheKey
            {
                Type = data.Type,
                Side = side
            };

            if (TypeModifierCache.TryGetValue(key, out current))
            {
                current.Message          = data.Message ?? current.Message;
                current.ThrowIfCondition = data.ThrowIfCondition ?? current.ThrowIfCondition;
            }
            else
            {
                TypeModifierCache[key] = data;
            }
        }