2015-11-05 29 views
0

我使用以下擴展名:C#泛型MongoRepository電話

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; } } 


} 
+1

您需要在'T'通用約束。像「where T:IEntity」之類的東西。 –

回答

1

T需要實現IEntity。

嘗試......

public class DataService<T> where T : IEntity