Net Core教程

(C#)泛型约束

本文主要是介绍(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#)泛型约束的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!