Castle.MicroKernel.Lifestyle.Scoped.ThreadStaticLifetimeScope.GetCachedInstance C# (CSharp) Method

GetCachedInstance() public method

public GetCachedInstance ( ComponentModel instance, ScopedInstanceActivationCallback createInstance ) : Burden
instance Castle.Core.ComponentModel
createInstance ScopedInstanceActivationCallback
return Burden
		public Burden GetCachedInstance(ComponentModel instance, ScopedInstanceActivationCallback createInstance)
		{
			using (var token = @lock.ForReadingUpgradeable())
			{
				var burden = cache[instance];
				if (burden == null)
				{
					token.Upgrade();

					burden = createInstance(delegate { });
					cache[instance] = burden;
				}
				return burden;
			}
		}