缺少类之间的参考转换



大家!我在方法addBindings中对Ninject遇到了问题 - 无法正确理解解决此问题会更好:

错误CS0311类型'classLibrary1.concrete.efgamerepository'无法 在通用类型或 方法" ibindingtosyntax.to(("。 没有隐含的参考转换 'classLibrary1.concrete.efgamerepository' 'classLibrary1.abstract.igamerepository'。

这是以下代码:

namespace GameStore.WebUI.Infrastructure
{
    public class NinjectDependencyResolver : IDependencyResolver
    {
        private IKernel kernel;
        public NinjectDependencyResolver(IKernel kernelParam)
        {
            kernel = kernelParam;
            AddBindings();
        }
        public object GetService(Type serviceType)
        {
            return kernel.TryGet(serviceType);
        }
        public IEnumerable<object> GetServices(Type serviceType)
        {
            return kernel.GetAll(serviceType);
        }
        private void AddBindings()
        {
            kernel.Bind<IGameRepository>().To<EFGameRepository>();
        }
    }
}

efgamerepository

public class EFGameRepository 
{ 
    EFDbContext context = new EFDbContext(); 
    public IEnumerable<Game> Games { get { return context.Games; } } 
}

要解决此问题EFGameRepository必须实现IGameRepository

public class EFGameRepository : IGameRepository
{
    // implement IGameRepository members implicit or explicit
}

最新更新