一、前言
泛型的使用,是为了让我少写重复的代码,提高工作的效率添加的一个延迟声明的类型,重点我个人放在了泛型的约束这里。为什么要对泛型进行约束?主要有三点
1、加了约束,可以获取更多的功能
2、保证了程序的准确性和稳定性
3、可以验证调用的准确性
二、实践
using System; namespace Demo1 { public class Program { static void Main(string[] args) { China china = new China(); DoSomething(china); } public static void DoSomething<T>(T tParameter) // where T : class //这是类型引用 //where T : struct//这是值引用 //where T : new()//这是无参构造函数引用 where T : class,new() //这是嵌套使用 { } } /// <summary> /// 做的事情接口 /// </summary> public interface IPeople { void ReadBook(); void Write(); void Play(); } /// <summary> /// 一个人 /// </summary> public class People { public int IdCard { get; set; } public string Name { get; set; } public void DoHomeWORK() { } } /// <summary> /// 中国人 /// </summary> public class China : People, IPeople { public void Play() { throw new NotImplementedException(); } public void ReadBook() { throw new NotImplementedException(); } public void Write() { throw new NotImplementedException(); } } /// <summary> /// 美国人 /// </summary> public class American : People, IPeople { public void Play() { throw new NotImplementedException(); } public void ReadBook() { throw new NotImplementedException(); } public void Write() { throw new NotImplementedException(); } } /// <summary> /// 韩国人 /// </summary> public class Korea { public void Play() { throw new NotImplementedException(); } public void ReadBook() { throw new NotImplementedException(); } public void Write() { throw new NotImplementedException(); } } }