本文整理汇总了C#中Castle.MicroKernel.Context.CreationContext.AttachExistingBurden方法的典型用法代码示例。如果您正苦于以下问题:C# CreationContext.AttachExistingBurden方法的具体用法?C# CreationContext.AttachExistingBurden怎么用?C# CreationContext.AttachExistingBurden使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Castle.MicroKernel.Context.CreationContext
的用法示例。
在下文中一共展示了CreationContext.AttachExistingBurden方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Request
public virtual object Request(CreationContext context, Func<CreationContext, Burden> creationCallback)
{
using (rwlock.ForWriting())
{
if (!initialized)
{
Intitialize(creationCallback, context);
}
Burden burden;
if (available.Count != 0)
{
burden = available.Pop();
context.AttachExistingBurden(burden);
}
else
{
burden = creationCallback.Invoke(context);
}
try
{
inUse.Add(burden.Instance, burden);
}
catch (NullReferenceException)
{
throw new PoolException("creationCallback didn't return a valid burden");
}
catch (ArgumentNullException)
{
throw new PoolException("burden returned by creationCallback does not have root instance associated with it (its Instance property is null).");
}
return burden.Instance;
}
}