“T”必須是具有公共的無參數構造函數的非抽象類型,才能用作泛型類型或方法


最近在項目中,使用EF編程時,在使用泛型類型的過程中,寫了一上午,結果生成時,編譯不通過,報出如下錯誤:

“T”必須是具有公共的無參數構造函數的非抽象類型,才能用作泛型類型或方法。如圖:

 

找了好久,終於讓我給找到原因了。分享給大家。呵呵

 

1.  我要項目中用到泛型類型的有:

 

 

【說明】大家看了截圖,可能會發現4個類有一點點區別,就是   public class BaseRepository<T> : IBaseRepository<T> where T : class 少了 new()約束。

        沒錯,就是因為少了這個約束。在系統中,若是所有將使用同一Model類的基類泛型類型的T,必須保證這些類型的對 T 的約束保持一致。否則將會報出此錯誤。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM