首页 > 其他分享 >泛型使用

泛型使用

时间:2023-02-24 17:24:32浏览次数:27  
标签:Box box set get 使用 泛型 new class

1、泛型类  避免了类型膨胀和类成员膨胀

namespace Generic
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Apple apple=new Apple() { color="red"};
            Book book=new Book() { bookName="只因前传"};
            Box<Apple> boxApple=new Box<Apple>() { box=apple};
            Box<Book> boxBook = new Box<Book>() { box = book };
            Console.WriteLine(boxApple.box.color);
            Console.WriteLine(boxBook.box.bookName);
        }
    }

    class Box<T>      //一劳永逸
    {
        public T box { get; set; }
    }

    class Apple
    {
        public string color { get; set; }
    }
    class Book
    {
        public string bookName { get; set; }
    }
}

2、泛型接口

namespace Generic
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Student<int> student = new Student<int>();
            student.ID = 1;
            
        }
    }

    interface IUnique<T>
    {
        T ID { get; set; }
    }

    class Student<T> : IUnique<T>
    {
        public T ID { get; set; }
    }


}

 

标签:Box,box,set,get,使用,泛型,new,class
From: https://www.cnblogs.com/decoct-tea/p/17151530.html

相关文章

  • VS Code下载安装使用教程
    VSCode下载安装使用教程@目录VSCode下载安装使用教程一、下载二、安装三、使用教程3.1VSCode中的第一个页面HelloWorld.html3.2VSCode插件安装(黑马程序员)3.2.1安装......
  • C语言可变参数的使用详解
    一、可变参数表介绍c/c++语言具备一个不同于其他编程语言的的特性,即支持可变参数。例如C库中的printf,scanf等函数,都支持输入数量不定的参数。例如:printf("hello world......
  • vConsole使用
    1:js直接引用,下载最新版https://github.com/Tencent/vConsole/releases/latest<scriptsrc="vconsole.min.js"></script><script>//初始化varvConsole=newVC......
  • ArcGIS10.4授权文件 32/64位使用方法
    ArcGIS10.4授权文件是一款针对同名软件《ArcGIS10.4》所推出的序列号激活码生成工具。通过使用这款授权文件,你就可以进行注册激活,永久免费使用该软件1、安装桌面并按照正......
  • 使用函数-单行函数
    ​ 使用函数-单行函数 2.数值函数(Math)    3.日期与时间函数         --单行函数包含:--1.字符串函数selectename,length(ena......
  • 使用函数-单行函数
    ​ 使用函数-单行函数 2.数值函数(Math)    3.日期与时间函数         --单行函数包含:--1.字符串函数selectename,length(ena......
  • C/C++使用GCC编译项目时添加宏定义
    有时候我们希望在构建时能够在命令行添加一些宏定义,改变程序行为。一个典型应用示例是代码里通过检查是否定义了DEBUG宏,来决定是否输出调试信息。编译器一般提供命令行选......
  • 简单使用wireshark
    wireshark抓包工具拓扑图:拓扑图解释:终端用户使用wireshark抓包工具监听无线网卡,监听时,终端访问互联网,可实时监听网络抓包操作步骤:一,打开wireshark抓包工具,监听网卡......
  • java 枚举使用
    /***埋点模块枚举*@authorhuang*/publicenumModelEnum{PROCESS_CONTROL("流程管控",10),TASK_CENTER("任务中心",20),QHSE("QHSE管理",30)......
  • uni-app学习笔记之----getCurrentPages()的使用
    1、判断是否是首页如果得到数组元素只有一个,说明是首页2、得到页面中的信息得到数组中的第一个元素代表首页,最后一个元素代表当前页 ......