最近在项目中,使用EF编程时,在使用泛型类型的过程中,写了一上午,结果生成时,编译不通过,报出如下错误:

“T”必须是具有公共的无参数构造函数的非抽象类型,才能用作泛型类型或方法。如图:

“T”必须是具有公共的无参数构造函数的非抽象类型,才能用作泛型类型或方法

 

找了好久,终于让我给找到原因了。分享给大家。呵呵

 

1.  我要项目中用到泛型类型的有:

 

“T”必须是具有公共的无参数构造函数的非抽象类型,才能用作泛型类型或方法“T”必须是具有公共的无参数构造函数的非抽象类型,才能用作泛型类型或方法

 

【说明】大家看了截图,可能会发现4个类有一点点区别,就是   public class BaseRepository<T> : IBaseRepository<T> where T : class 少了 new()约束。

        没错,就是因为少了这个约束。在系统中,若是所有将使用同一Model类的基类泛型类型的T,必须保证这些类型的对 T 的约束保持一致。否则将会报出此错误。

相关文章:

  • 2021-09-28
  • 2021-11-21
  • 2022-12-23
  • 2021-06-12
  • 2022-03-09
  • 2022-01-19
猜你喜欢
  • 2022-01-13
  • 2021-05-28
  • 2022-01-14
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案