public void SetUp()
        {
            var dictionary = new Dictionary<LocalizationKey, string>()
            {
                {new LocalizationKey("a"), "a1"},
                {new LocalizationKey("b"), "b1"},
                {new LocalizationKey("c"), "c1"},
            };

            cache = new ThreadSafeLocaleCache(new CultureInfo("en-US"), dictionary);
        }
예제 #2
0
        public void SetUp()
        {
            var dictionary = new Dictionary <LocalizationKey, string>()
            {
                { new LocalizationKey("a"), "a1" },
                { new LocalizationKey("b"), "b1" },
                { new LocalizationKey("c"), "c1" },
            };

            cache = new ThreadSafeLocaleCache(new CultureInfo("en-US"), dictionary);
        }
        public ILocaleCache CacheFor(CultureInfo culture, Func<IEnumerable<LocalString>> finder)
        {
            var cache = initialRead(culture);
            if (cache == null)
            {
                _lock.Write(() =>
                {
                    if (!_locales.ContainsKey(culture.Name))
                    {
                        var data = finder();
                        cache = new ThreadSafeLocaleCache(culture, data);
                        _locales.Add(culture.Name, cache);
                    }
                    else
                    {
                        cache = _locales[culture.Name];
                    }
                });
            }

            return cache;
        }
예제 #4
0
        public ILocaleCache CacheFor(CultureInfo culture, Func <IEnumerable <LocalString> > finder)
        {
            var cache = initialRead(culture);

            if (cache == null)
            {
                _lock.Write(() =>
                {
                    if (!_locales.ContainsKey(culture.Name))
                    {
                        var data = finder();
                        cache    = new ThreadSafeLocaleCache(culture, data);
                        _locales.Add(culture.Name, cache);
                    }
                    else
                    {
                        cache = _locales[culture.Name];
                    }
                });
            }

            return(cache);
        }