首页 > 其他 > 详细

泛型约束

时间:2020-09-23 23:10:46      阅读:111      评论:0      收藏:0      [点我收藏+]

1.指定泛型参数为值类型:struct

public class MyClass<T> where T : struct
{
    //......
}

2.指定泛型参数类型为引用类型:class

public class MyClass<T> where T : class
{
    //......
}

3.指定泛型参数类型含有无参,公共的构造方法:new()

public class MyClass<T> where T : new()
{
    //......
}

4,要求泛型参数必须派生于某一基类:类名

public class BaseClass
{
    //......
}
public class MyClass<T> where T : BaseClass
{
    //......
}

5,要求泛型参数实现指定接口:接口名

与4类似,略

6  指定泛型参数 必须派生于泛型类型U(裸类型约束)

class MyList<U> where U : SeniorAnimal
{
    List<U> list = new List<U>();
    public void ShowInfo<T>() where T : U
    {
    }
}

7.同一泛型参数可以有多个约束

泛型约束

原文:https://www.cnblogs.com/space1996/p/13721356.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!