Bari.Core.Build.Cache.MemoryBuildCache.GetOrCreate C# (CSharp) Метод

GetOrCreate() приватный Метод

private GetOrCreate ( BuildKey builder ) : Bari.Core.Build.Cache.MemoryCacheItem
builder BuildKey
Результат Bari.Core.Build.Cache.MemoryCacheItem
        private MemoryCacheItem GetOrCreate(BuildKey builder)
        {
            Contract.Ensures(Contract.Result<MemoryCacheItem>() != null);

            lock (cache)
            {
                MemoryCacheItem item;
                if (!cache.TryGetValue(builder, out item))
                {
                    item = new MemoryCacheItem();
                    cache.Add(builder, item);
                }

                Contract.Assume(item != null);
                return item;
            }
        }