C# 使用ninject注册实现通用接口的类

C# 使用ninject注册实现通用接口的类,c#,.net,ninject,C#,.net,Ninject,我有这个界面: public interface IObjectFactory<T> { T NewObject(); } 公共接口IObjectFactory { T NewObject(); } 我可以有多个类用不同的参数实现这个接口 public class UserFactory : IObjectFactory<IUser> { public IUser NewObject() => new Use

我有这个界面:

   public interface IObjectFactory<T>
   {
      T NewObject();
   }
公共接口IObjectFactory
{
T NewObject();
}
我可以有多个类用不同的参数实现这个接口

   public class UserFactory : IObjectFactory<IUser>
   {
      public IUser NewObject() => new User(); 
   }
公共类UserFactory:IObjectFactory
{
public IUser NewObject()=>新用户();
}
我想扫描所有程序集以绑定所有类,这样我就可以不用创建直接绑定指令了。
我遇到的问题是通用接口和普通示例不起作用。

如何解决此问题?

使用ninject.extensions.conventions

kernel.Bind(
    c => c.FromThisAssembly()
        .SelectAllClasses()
        .InheritedFrom(typeof(IObjectFactory<>))
        .BindAllInterfaces());
kernel.Bind(
c=>c.FromThisAssembly()
.SelectAllClasses()
.继承自(typeof(IObjectFactory))
.BindAllInterfaces());

已经尝试过了,但问题是我有一个带有通用参数的接口