结构图注册
StructureMap registration
想象界面
- IRepository
- IFooRepository : IRepository
- IBarRepository : IRepository
关联存储库:
- FooRepository : RepositoryBase, IFooRepository
- BarRepository : RepositoryBase, IBarRepository
我正在尝试使用结构图进行通用注册,以在一个注册表中注册我的所有存储库,以使用 IFooRepository 调用我的 IoC
public class DataRegistry : Registry
{
public DataRegistry()
{
Scan(x =>
{
x.AssemblyContainingType<RepositoryBase>();
x.IncludeNamespaceContainingType<RepositoryBase>();
//Todo Register EndWith Repository as ImplementedInterface
});
}
}
这将使您能够将 IFooRepository 解析为 FooRepository 的实例:
Scan(x =>
{
x.AssemblyContainingType<RepositoryBase>();
x.IncludeNamespaceContainingType<RepositoryBase>();
x.WithDefaultConventions();
});
WithDefaultConventions
连接所有具有相同名称的 类 接口(I 除外)。
SingleImplementationsOfInterface
也适用于您的情况。
想象界面
- IRepository
- IFooRepository : IRepository
- IBarRepository : IRepository
关联存储库:
- FooRepository : RepositoryBase, IFooRepository
- BarRepository : RepositoryBase, IBarRepository
我正在尝试使用结构图进行通用注册,以在一个注册表中注册我的所有存储库,以使用 IFooRepository 调用我的 IoC
public class DataRegistry : Registry
{
public DataRegistry()
{
Scan(x =>
{
x.AssemblyContainingType<RepositoryBase>();
x.IncludeNamespaceContainingType<RepositoryBase>();
//Todo Register EndWith Repository as ImplementedInterface
});
}
}
这将使您能够将 IFooRepository 解析为 FooRepository 的实例:
Scan(x =>
{
x.AssemblyContainingType<RepositoryBase>();
x.IncludeNamespaceContainingType<RepositoryBase>();
x.WithDefaultConventions();
});
WithDefaultConventions
连接所有具有相同名称的 类 接口(I 除外)。
SingleImplementationsOfInterface
也适用于您的情况。