我有一个内部类,它对服务工厂是内部可见的。它还继承了一个公共(public)接口(interface)。
当我想在我的应用程序中使用它的功能时,我正在为接口(interface)声明对象并通过服务工厂为特定类实例化它。
现在我们正在使用 MVC,我想在我的一个 Controller 中为这个类创建 IOC。
这个类是内部的,我不能在 global.ascx 中注册它
比如我在写的时候
builder.RegisterType().As().InstancePerHttpRequest() ;
CommonSvc 是内部的,它会抛出编译时错误,因为 Services.CommonSvc' 由于其保护级别而无法访问
请指教
最佳答案
您的选择:
CommonSvc
公众 CommonSvc
直接使用 RegisterAssemblyTypes()
按照惯例进行注册。例如: builder.RegisterAssemblyTypes(typeof(SomeOtherTypeInTheSameAssembly).Assembly)
.Where(t => typeof(SomeInterface).IsAssignableFrom(t))
.AsImplementedInterfaces();
关于class - IOC 使用 AutoFac 进行内部类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23216156/