zoukankan      html  css  js  c++  java
  • where T:new() 是什么意思

    经常看到方法后面加where T:new() ,下面来解释下

    比如如下这个方法
      protected static T CreateNewInstance<T>() where T : new() 
            
                return new T(); 
            }

    解释如下:

    T后面跟的是泛型约束,啥叫泛型约束,就是你必须要符合这个规则来,不然就不让你编译通过 。

    后面的new()代表这个T 必须有一个无参的构造函数,

    当然一个新建的class。这个类做为T,也是可以编译通过的。

    因为如果类中没有构造函数会默认就加一个无参的构造函数,刚好符合这个约束。

    比如

    Public Class People{}

    这个people 做为T默认是可以编译通过的。因为他等同于

    Public Class People(public People(){})

    但如果有一个这样的People就会编译不通过了。

    Public Class People(public People(string s){}})

  • 相关阅读:
    初识react hooks
    react初识生命周期
    在调用setState之后发生了什么
    课后作业四
    课后作业2
    课后作业1
    自我介绍
    电脑软件推荐
    数据结构
    数组(一维数组)
  • 原文地址:https://www.cnblogs.com/hsapphire/p/3672483.html
Copyright © 2011-2022 走看看