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();
            }
        }
    
    }
  • 相关阅读:
    UE4自学随笔(一)
    经纬度转换度分秒
    IE模式下EasyUI Combobox无效问题
    LayUI加载js无效问题
    C# 使用GDI绘制雷达图
    SQLPrompt8.2 安装之后找不到激活入口
    NetCore3.0 文件上传与大文件上传的限制
    NetCore 下使用 DataTable 以及可视化工具
    docker环境下使用gitlab,gitlab-runner 为 NetCore 持续集成
    QQ浏览器兼容模式下Cookie失效 导致的NetCore Cookie认证失效
  • 原文地址:https://www.cnblogs.com/gzbit-zxx/p/12422376.html
Copyright © 2011-2022 走看看