g.t*_*w.d 0 .net c# unity-container
调用container.RegisterTypes时是否可以使用程序集通配符?
即如果我只想从以Foo.Bar开头的Assemblies中注册类,有没有办法做到这一点.所以如果我有Foo.Bar.Test1然后是Foo.Bar.Test2程序集,它会抓住这两个而不必明确引用这些名称?
是的,你可以这样做.请参阅以下代码以在给定命名空间中注册程序集中的类型:
var container = new UnityContainer();
container.AddNewExtension<Interception>();
container.RegisterTypes(
AllClasses.FromLoadedAssemblies().Where(
t => t.Namespace == "Foo.Bar"),
WithMappings.MatchingInterface,
WithName.Default);
Run Code Online (Sandbox Code Playgroud)
检查是否所有类型都在特定命名空间下从该程序集注册:
Console.WriteLine("Container has {0} Registrations:",
container.Registrations.Count());
foreach (ContainerRegistration item in container.Registrations)
{
Console.WriteLine(item.GetMappingAsString());
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1665 次 |
| 最近记录: |