Esempio n. 1
0
            public IModifiedType MakeModified(TypeModification[] modifiers)
            {
                IModifiedType result;

                lock (typeModifiedCache)
                {
                    TypeModifierSetEntry entry;
                    if (!typeModifiedCache.TryObtainConstruct(entry = new TypeModifierSetEntry(modifiers), out result))
                    {
                        typeModifiedCache.RegisterConstruct(entry, result);
                    }
                }
                return(result);
            }
Esempio n. 2
0
        public IModifiedType MakeModified(TypeModification[] modifiers)
        {
            IModifiedType result;

            lock (this.syncObject)
            {
                this.CacheCheck();
                var modifiedTypeKey = new TypeModifierSetEntry(modifiers);
                if (!this.modifiedTypeCache.TryObtainConstruct(modifiedTypeKey, out result))
                {
                    this.modifiedTypeCache.RegisterConstruct(modifiedTypeKey, result = new ModifiedType(this, modifiers));
                }
            }
            return(result);
        }