C# 类之间缺少引用转换
各位!!我在方法AddBindings中遇到Ninject问题-无法正确理解如何更好地解决此问题: 错误CS0311无法识别类型“ClassLibrary1.Concrete.EFGameRepository” 在泛型类型中用作类型参数“TImplementation”,或 方法“IBindingToSyntax.To()”。 不存在来自的隐式引用转换 “ClassLibrary1.Concrete.EFGameRepository”到 “ClassLibrary1.Abstract.IGameRepository” 以下是代码:C# 类之间缺少引用转换,c#,asp.net-mvc,C#,Asp.net Mvc,各位!!我在方法AddBindings中遇到Ninject问题-无法正确理解如何更好地解决此问题: 错误CS0311无法识别类型“ClassLibrary1.Concrete.EFGameRepository” 在泛型类型中用作类型参数“TImplementation”,或 方法“IBindingToSyntax.To()”。 不存在来自的隐式引用转换 “ClassLibrary1.Concrete.EFGameRepository”到 “ClassLibrary1.Abstract.IGame
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>();
}
}
}
namespace GameStore.WebUI.Infrastructure
{
公共类NinjectDependencyResolver:IDependencyResolver
{
私有IKernel内核;
公共NinjectDependencyResolver(IKernel kernelParam)
{
kernel=kernelParam;
AddBindings();
}
公共对象GetService(类型serviceType)
{
返回kernel.TryGet(serviceType);
}
公共IEnumerable GetServices(类型serviceType)
{
返回kernel.GetAll(serviceType);
}
私有void AddBindings()
{
kernel.Bind().To();
}
}
}
EFGameRepository
public class EFGameRepository
{
EFDbContext context = new EFDbContext();
public IEnumerable<Game> Games { get { return context.Games; } }
}
公共类存储库
{
EFDbContext=新的EFDbContext();
公共IEnumerable游戏{get{return context.Games;}
}
要解决此问题EFGameRepository
必须实现IGameRepository
public class EFGameRepository : IGameRepository
{
// implement IGameRepository members implicit or explicit
}
请显示
EFGameRepository
classpublic class EFGameRepository{EFDbContext context=new EFDbContext();public IEnumerable Games{get{return context.Games;}}}}