码迷,mamicode.com
首页 > Web开发 > 详细

.Net 学习之泛型(一)

时间:2020-03-05 20:50:50      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:struct   china   eric   pre   ati   dex   demo1   实践   效率   

一、前言

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

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

}

 

.Net 学习之泛型(一)

标签:struct   china   eric   pre   ati   dex   demo1   实践   效率   

原文地址:https://www.cnblogs.com/gzbit-zxx/p/12422376.html

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