(C#)泛型约束

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#)泛型约束

上一篇:c# 在WebBrowser中用SendMessage模拟鼠标点击


下一篇:C# 反射调用dll中的方法