使用通用开放式参数连接StructureMap

时间:2010-07-22 06:37:44

标签: c# .net structuremap

如何使用以下内容连接StructureMap:

public Interface IRepository<T, TIdentity>{}
public abstract class Repository<T, TIdentity> : IRepository<T, TIdentity>, other interfaces

我有许多具体的Repository实现,需要StructureMap自动连接它们。

public class JournalRepository : Repository<Journal,int>{}
public class UsersRepository : Repository<Users,int>{}
public class AccountGroupsRepository : Repository<Accounts,string>{}

我试过了:

 x.ForRequestedType(typeof(IRepository<,>))
.TheDefaultIsConcreteType(typeof(Repository<,>));

但我刚收到StructureMap异常代码:25(没有解释)。

这一切都可能吗?

非常感谢 杰里米

1 个答案:

答案 0 :(得分:1)

我认为有以下内容支持:

Scan(assemblyScanner =>
             {
                 assemblyScanner.TheCallingAssembly();
                 assemblyScanner.AddAllTypesOf(typeof (IRepository<>));
                 assemblyScanner.ConnectImplementationsToTypesClosing(
                    typeof(IRepository<>));
             });