.Net 学习之泛型(一)

一、前言

  泛型的使用,是为了让我少写重复的代码,提高工作的效率添加的一个延迟声明的类型,重点我个人放在了泛型的约束这里。为什么要对泛型进行约束?主要有三点

  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();
        }
    }

}

 

posted @ 2020-03-05 20:12  周兴兴  阅读(231)  评论(0编辑  收藏  举报