约束

基类约束:表明对T进行初始化,只能是该基类类型或者该基类的子类

格式:<T> where T:baseClass

注意:只能有一个baseClass

 

接口约束:表明对T进行初始化,只能是该接口类型或者该接口的子类

格式:<T> where T:Interface

注意:可以基类与接口同时存在,可以多个接口,先指定基类再指定接口,用“,”分开

 

构造函数约束(new()):表明对T进行初始化,类型实参必须有一个无参的构造函数,否则没有无参构造函数的话报错

格式:<T> where T:new()

注意:new()和其他约束同时出现,必须把new()放到末尾;不能和值约束同时出现

 

 

引用约束:表明对T进行初始化,类型实参必须是引用类型

格式:<T> where T:class

 

值约束:表明对T进行初始化,类型实参必须是值类型

格式:<T> where T:struct

 

组合约束:上面约束同时出现,用逗号分隔

注意:

1、约束列表第一个约束必须是引用或值或基类约束

2、第二位开始写接口约束

3、最后为new()约束

 

 

当泛型中出现多个类型形参<T,M>,分别使用where进行约束

 

泛型委托:

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值