本文整理汇总了C#中DependencyInjectionContainer.CanResolve方法的典型用法代码示例。如果您正苦于以下问题:C# DependencyInjectionContainer.CanResolve方法的具体用法?C# DependencyInjectionContainer.CanResolve怎么用?C# DependencyInjectionContainer.CanResolve使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DependencyInjectionContainer
的用法示例。
在下文中一共展示了DependencyInjectionContainer.CanResolve方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ConfigureDefaultDependencies
/// <summary>
/// Configures the default dependencies.
/// </summary>
/// <param name="dependencyInjectionContainer">The dependency injection container.</param>
public void ConfigureDefaultDependencies(DependencyInjectionContainer dependencyInjectionContainer)
{
ExceptionUtilities.CheckArgumentNotNull(dependencyInjectionContainer, "dependencyInjectionContainer");
foreach (var param in this.TestParameters)
{
dependencyInjectionContainer.TestParameters[param.Key] = param.Value;
}
// set up dependency injector
dependencyInjectionContainer.RegisterCustomResolver(typeof(Logger), this.GetLoggerForType).Transient();
dependencyInjectionContainer.RegisterInstance<IDependencyInjector>(dependencyInjectionContainer);
dependencyInjectionContainer.InjectDependenciesInto(dependencyInjectionContainer);
dependencyInjectionContainer.InjectDependenciesInto(this.implementationSelector);
this.implementations = this.implementationSelector.GetImplementations(this.TestParameters).ToList();
// only register dependencies that cannot already be resolved (unless the dependency was specified as a
// test parameter, in which case override the default)
foreach (var implInfo in this.implementations.Where(i => i.IsTestParameterSpecified || !dependencyInjectionContainer.CanResolve(i.ContractType)))
{
var options = dependencyInjectionContainer.Register(implInfo.ContractType, implInfo.ImplementationType);
options.IsTransient = implInfo.IsTransient;
}
}