C# structuremap会自动在子目录中查找缺少的实现
是否可以将StructureMap指向包含具体实现(每个接口一个具体实现)的子目录,并让StructureMap自动连接具体类,而无需在ObjectFactory中声明接口。初始化(y=>y.Scan…?可以(假设您遵循某种命名约定) 例如: 接口命名约定:IName(IA、IB) 接口实现的命名约定:名称(A,B) 上述命名约定在SM中称为默认约定 然后,您可以使用如下默认约定进行扫描:C# structuremap会自动在子目录中查找缺少的实现,c#,dependency-injection,structuremap,C#,Dependency Injection,Structuremap,是否可以将StructureMap指向包含具体实现(每个接口一个具体实现)的子目录,并让StructureMap自动连接具体类,而无需在ObjectFactory中声明接口。初始化(y=>y.Scan…?可以(假设您遵循某种命名约定) 例如: 接口命名约定:IName(IA、IB) 接口实现的命名约定:名称(A,B) 上述命名约定在SM中称为默认约定 然后,您可以使用如下默认约定进行扫描: ObjectFactory.Initialize(x => { x
ObjectFactory.Initialize(x =>
{ x.Scan(
scan =>
{
scan.AssembliesFromPath(Environment.CurrentDirectory + @"\Impl" ); //location of assemblies with interfaces implementation
scan.WithDefaultConventions();
}
);
});
如果您需要更复杂的映射规则,那么您可以实现自己的约定
以下是有关此主题的更多信息:
以下是示例解决方案: