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


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

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

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

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

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

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

  • 相关阅读:
    面试算法爱好者书籍/OJ推荐
    go语言——数据类型
    go编程规范
    Go语言常见语法错误
    go语言入门
    python——itertools
    linux sed使用
    python——optparse模块
    Linux基本配置
    文件包含
  • 原文地址:https://www.cnblogs.com/flish/p/5250694.html
Copyright © 2020-2023  润新知