我使用以下扩展程序:
https://github.com/RobThree/MongoRepository
我尝试创建一个通用类来管理我的存储库。
但是,我想在MongoRepository中使用泛型类。
我有错误:
错误CS0314类型' T'不能用作类型参数' T'在通用类型或方法' MongoRepository'。没有拳击转换或类型参数转换来自' T'到#MongoRepository.IEntity'。
你知道我如何解决我的错误吗?
谢谢!
public class DataService<T>
{
public static Dictionary<Type, MongoRepository<T>> References = new Dictionary<Type, MongoRepository<T>>
{
{ typeof(EmailTransac), EmailTransacs },
{ typeof(LogException), LogExceptions },
{ typeof(ApplicationUser), Users },
{ typeof(LogActivity), LogActivities },
{ typeof(Referential), Referentials }
};
public static MongoRepository<EmailTransac> EmailTransacs { get { return Singleton<MongoRepository<EmailTransac>>.Instance; } }
public static MongoRepository<LogException> LogExceptions { get { return Singleton<MongoRepository<LogException>>.Instance; } }
public static MongoRepository<ApplicationUser> Users { get { return Singleton<MongoRepository<ApplicationUser>>.Instance; } }
public static MongoRepository<LogActivity> LogActivities { get { return Singleton<MongoRepository<LogActivity>>.Instance; } }
public static MongoRepository<Referential> Referentials { get { return Singleton<MongoRepository<Referential>>.Instance; } }
}
答案 0 :(得分:1)
T需要实现IEntity。
试试这个......
public class DataService<T> where T : IEntity