zoukankan      html  css  js  c++  java
  • .net之泛型

     //灵活使用别名使代码更加精简。
        using ZClass2 = ZClass<Xparameter<string>, string>;
    
        class XClass {
            //泛型方法
            public static void MethodA<z>(z param)
            {
                Console.Write(param.GetType().ToString());
            }
        }
    
        class YClass<T> {
            public T MethodA() {
                T t=default(T);
                return t;
            }
        }
    
        class Xparameter<p>
        {
            public static void MethdB(p data) { }
        }
        class ZClass<z,v>{
        public static void MethdB(z key,v data){}
        }
        class Program
        {
            //泛型:generic 具有参数的类型,参数是捡来类型的占用符,一般类型包括类、借口、和结构。 
            static void Main(string[] args)
            {
                //Xparameter<string>代表一个类。
                //ZClass<Xparameter<string>, string> z = new ZClass<Xparameter<string>, string>();
                ZClass2 z = new ZClass2();
            }
        }

    .net之约束: 

    1,派生约束:

        class Program
        {
    
            static void Main(string[] args)
            {
                XClass x = new XClass();
                YClass y = new YClass();
                ZClassz<YClass, XClass> z = new ZClassz<YClass, XClass>();
                //error!
                //ZClassz<XClass, YClass> z = new ZClassz<XClass, YClass>();
            }
        }
        public class XClass{
        }
        public class YClass{
        }
        public class ZClassz<y,v>where v:XClass where  y:YClass{
        }

      (例)节点约束:

    2,接口约束:

    3,值类型约束:

    4,引用类型约束:

  • 相关阅读:
    es6常用语法(持续更新中)
    发送请求时params和data的区别
    js引擎查询 LHS RHS(消化ing)
    Linux常用命令(持续更新)
    Https理解
    MVVM理解
    原生js与jquery区别
    Cookie如何防范XXS攻击
    基于python的appium环境搭建
    pycharm安装步骤
  • 原文地址:https://www.cnblogs.com/canbefree/p/3498747.html
Copyright © 2011-2022 走看看