Exemple #1
0
        public EnumTranslation<T>[] UpdateOrCreateEnumTranslation<T>(EnumTranslation<T>[] translations) where T : struct, IConvertible
        {
            var type = typeof(T);
            if (translations == null && _enumCache.ContainsKey(type))
            {
                translations = (EnumTranslation<T>[])_enumCache[type];
                _updateCache.Add(translations);

                return translations;
            }

            if (translations != null && _updateCache.Contains(translations))
                return translations;

            translations = _baseTranslationFactory.UpdateOrCreateEnumTranslation(translations);

            _enumCache[type] = translations;
            _updateCache.Add(translations);

            return translations;
        }