码迷,mamicode.com
首页 > Windows程序 > 详细

(C#)泛型约束

时间:2021-06-02 18:43:30      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:接口   字符   函数   where   test   HERE   构造   show   read   

1.new() 约束表示T类型只能接受一个无参数构造函数的new T()。

2.struct值类型约束。

3.class引用类型约束。

4.自定义类型约束。

值类型:struct/int/double/bool/枚举。

引用类型:数组/类/接口/委托/object/字符串。

不论有多少约束,new()约束必须写在最后。

using System;

namespace GenericTest
{
    class Program
    {
        static void Main(string[] args)
        {
            Show(new Student());//输出结果 Student类
            Console.ReadLine();
        }

        static void Show<T>(T t) where T : new() // 约束表示T类型只能接受一个无参数构造函数的new T()
        {
            Console.WriteLine(t.ToString());
        }

        static void Show<T>(T t) where T : class, new()
        {

        }
    }

    //泛型接口
    interface ICalculateAble<T>
    {

    }

    //普通接口
    interface ICalculateAble
    {

    }

    class Student
    {
        public override string ToString()
        {
            return "Student类";
        }
    }

}

 

(C#)泛型约束

标签:接口   字符   函数   where   test   HERE   构造   show   read   

原文地址:https://www.cnblogs.com/RuinGames/p/14831146.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!