Autofac Scanning Assemblies for certain class type

后端 未结 2 764
北荒
北荒 2020-12-15 08:39

I\'ve started using Autofac and want to scan some DLL\'s and get Autofac to register some of the classes within them.

The classes that I\'m interested in all inherit

2条回答
  •  陌清茗
    陌清茗 (楼主)
    2020-12-15 09:16

    Maybe do is this way:

    builder
        .RegisterAssemblyTypes(AppDomain.CurrentDomain.GetAssemblies())
        .Where(t => t.GetInterfaces()
            .Any(i => i.IsAssignableFrom(typeof (IDependency))))
        .AsImplementedInterfaces()
        .InstancePerDependency();
    

    In this code I use IDependency as a marker interface. You may replace it with your PluginBase class and remove Where method.

    The point is to use IsAssignableFrom method.

提交回复
热议问题