本文整理汇总了C#中CreationContext.EnterResolutionContext方法的典型用法代码示例。如果您正苦于以下问题:C# CreationContext.EnterResolutionContext方法的具体用法?C# CreationContext.EnterResolutionContext怎么用?C# CreationContext.EnterResolutionContext使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CreationContext
的用法示例。
在下文中一共展示了CreationContext.EnterResolutionContext方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Resolve
public override object Resolve(CreationContext context)
{
Type implType = ComponentModel.Implementation.MakeGenericType(context.GenericArguments);
IHandler handler = GetSubHandler(context, implType);
// so the generic version wouldn't be considered as well
using(context.EnterResolutionContext(this, false))
{
return handler.Resolve(context);
}
}
示例2: ResolveCore
/// <summary>
/// Returns an instance of the component this handler
/// is responsible for
/// </summary>
/// <param name="context"></param>
/// <param name="track"></param>
/// <returns></returns>
protected override object ResolveCore(CreationContext context, bool track)
{
if (!context.HasAdditionalParameters)
{
if (CurrentState != HandlerState.Valid && !CanResolvePendingDependencies(context))
{
AssertNotWaitingForDependency();
}
}
using(CreationContext.ResolutionContext resCtx = context.EnterResolutionContext(this))
{
object instance = lifestyleManager.Resolve(context);
resCtx.Burden.SetRootInstance(instance, this, track || ComponentModel.LifecycleSteps.HasDecommissionSteps);
context.ReleasePolicy.Track(instance, resCtx.Burden);
return instance;
}
}