本文整理汇总了C#中IBuilderContext.GetOverriddenResolver方法的典型用法代码示例。如果您正苦于以下问题:C# IBuilderContext.GetOverriddenResolver方法的具体用法?C# IBuilderContext.GetOverriddenResolver怎么用?C# IBuilderContext.GetOverriddenResolver使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IBuilderContext
的用法示例。
在下文中一共展示了IBuilderContext.GetOverriddenResolver方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PreBuildUp
public override void PreBuildUp(IBuilderContext context)
{
NamedTypeBuildKey key = context.OriginalBuildKey;
if (!(key.Type.IsInterface && _typeStacks.ContainsKey(key.Type)))
{
return;
}
if (null != context.GetOverriddenResolver(key.Type))
{
return;
}
var stack = new Stack<Type>(_typeStacks[key.Type]);
object value = null;
stack.ForEach(type =>
{
value = context.NewBuildUp(new NamedTypeBuildKey(type, key.Name));
var overrides = new DependencyOverride(key.Type, value);
context.AddResolverOverrides(overrides);
}
);
context.Existing = value;
context.BuildComplete = true;
}
示例2: GetResolver
/// <summary>
/// Helper method used by generated IL to look up a dependency resolver based on the given key.
/// </summary>
/// <param name="context">Current build context.</param>
/// <param name="dependencyType">Type of the dependency being resolved.</param>
/// <param name="resolver">The configured resolver.</param>
/// <returns>The found dependency resolver.</returns>
public static IDependencyResolverPolicy GetResolver(IBuilderContext context, Type dependencyType, IDependencyResolverPolicy resolver)
{
Guard.ArgumentNotNull(context, "context");
var overridden = context.GetOverriddenResolver(dependencyType);
return overridden ?? resolver;
}
示例3: GetResolver
public static IDependencyResolverPolicy GetResolver(IBuilderContext context, Type dependencyType, string resolverKey)
{
Guard.ArgumentNotNull(context, "context");
var resolver = context.GetOverriddenResolver(dependencyType);
return resolver ?? context.Policies.Get<IDependencyResolverPolicy>(resolverKey);
}