Beispiel #1
0
 private void SetCurrent(MetaType type)
 {
     type = type.InheritanceRoot;
     if (this.currentType != type)
     {
         if (!this.caches.TryGetValue(type, out this.currentCache))
         {
             KeyManager km = GetKeyManager(type);
             this.currentCache = (IdentityCache)Activator.CreateInstance(
                 typeof(IdentityCache <,>).MakeGenericType(type.Type, km.KeyType),
                 BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, null,
                 new object[] { km }, null
                 );
             this.caches.Add(type, this.currentCache);
         }
         this.currentType = type;
     }
 }
		private void SetCurrent(MetaType type)
		{
			type = type.InheritanceRoot;
			if(this.currentType != type)
			{
				if(!this.caches.TryGetValue(type, out this.currentCache))
				{
					KeyManager km = GetKeyManager(type);
					this.currentCache = (IdentityCache)Activator.CreateInstance(
						typeof(IdentityCache<,>).MakeGenericType(type.Type, km.KeyType),
						BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, null,
						new object[] { km }, null
						);
					this.caches.Add(type, this.currentCache);
				}
				this.currentType = type;
			}
		}