本文整理汇总了C#中SimpleInjector.Container.GetTypesToRegister方法的典型用法代码示例。如果您正苦于以下问题:C# Container.GetTypesToRegister方法的具体用法?C# Container.GetTypesToRegister怎么用?C# Container.GetTypesToRegister使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SimpleInjector.Container
的用法示例。
在下文中一共展示了Container.GetTypesToRegister方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PopulateProviderCache
private void PopulateProviderCache()
{
if (this.Providers == null)
{
this.Providers = new Dictionary<string, IAuditDbProvider>();
}
string providerDirectory = AppDomain.CurrentDomain.BaseDirectory;
var providerAssemblies =
from file in new DirectoryInfo(providerDirectory).GetFiles()
where file.Extension.ToLower() == ".dll"
select Assembly.LoadFile(file.FullName);
Container container = new Container();
var providerTypes = container.GetTypesToRegister(typeof(IAuditDbProvider), providerAssemblies);
container.RegisterCollection<IAuditDbProvider>(providerTypes);
foreach (var provider in container.GetAllInstances<IAuditDbProvider>())
{
Providers.Add(provider.ProviderNamespace.ToLowerInvariant(),provider);
}
}
示例2: ConfigureGenerics
public static void ConfigureGenerics(Container container)
{
container.Register(typeof(DataProvider<>),
new[] { typeof(DataProvider<>).Assembly }, Lifestyle.Singleton);
container.Register(typeof(CommandHandler<,>), new[] { typeof(CommandHandler<,>).Assembly });
container.Register(typeof(CommandHandler<>), new[] { typeof(CommandHandler<>).Assembly });
var commandHandlerTypes = container.GetTypesToRegister(typeof(Command<>),
new[] { typeof(Command<>).Assembly },
new TypesToRegisterOptions { IncludeGenericTypeDefinitions = true} );
foreach (Type type in commandHandlerTypes.Where(t => t.IsGenericTypeDefinition))
{
container.RegisterConditional(typeof(Command<>), type, c => !c.Handled);
}
}