zoukankan      html  css  js  c++  java
  • .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();
            }
        }
    
    }
  • 相关阅读:
    19年下半年读书清单一览
    2019-2020:时间戳
    全链路压测资料汇总——业内大厂解决方案
    个人公众号开通啦
    windows 10环境下安装Tensorflow-gpu
    如何判断安卓模拟器的型号(品牌)
    socket.io的websocket示例
    Node + Selenium使用小结
    基于SOUI开发一个简单的小工具
    国际化之Android设备支持的语种
  • 原文地址:https://www.cnblogs.com/gzbit-zxx/p/12422376.html
Copyright © 2011-2022 走看看