zoukankan      html  css  js  c++  java
  • 泛型委托

    <1>Predicate泛型委托

    // 摘要:
              //     表示定义一组条件并确定指定对象是否符合这些条件的方法。
              //
              // 参数:
              //   obj:
              //     要按照由此委托表示的方法中定义的条件进行比较的对象。
              //
              // 类型参数:
              //   T:
              //     要比较的对象的类型。
              //
              // 返回结果:
              //     如果 obj 符合由此委托表示的方法中定义的条件,则为 true;否则为 false。
              public delegate bool Predicate<in T>(T obj);
    

      需要传入一个T类型的参数,并且需要返回一个bool类型的返回值

    <2>Action泛型委托

        // 摘要: 
        //     封装一个方法,该方法只有一个参数并且不返回值。
        //
        // 参数: 
        //   obj:
        //     此委托封装的方法的参数。
        //
        // 类型参数: 
        //   T:
        //     此委托封装的方法的参数类型。
        public delegate void Action<in T>(T obj);
    

        可以有0个到16个输入参数,输入参数的类型是不确定的,但不能有返回值

    <3>Func泛型委托

        // 摘要: 
        //     封装一个不具有参数但却返回 TResult 参数指定的类型值的方法。
        //
        // 类型参数: 
        //   TResult:
        //     此委托封装的方法的返回值类型。
        //
        // 返回结果: 
        //     此委托封装的方法的返回值。
        [TypeForwardedFrom("System.Core, Version=3.5.0.0, Culture=Neutral, PublicKeyToken=b77a5c561934e089")]
        public delegate TResult Func<out TResult>();
    

        0到16个输入参数,参数类型由使用者确定,它规定要有一个返回值,返回值的类型也由使用者确定

        参数列表中的最后一个泛型类型是方法的返回值类型

  • 相关阅读:
    Android--Android studio --布局管理
    Android--Android studio --Activity
    Android--Android studio --app运行
    Android--Android studio 工程目录分析
    Java--Niit-ch2--Location本地化问题
    C--循环实现和递归实现的比较
    C--函数调用
    【未完待续】Java蓝桥杯--算法训练 数学知识的运用
    【未完待续】Java蓝桥杯--算法训练(1)典型问题的递归框架
    NIIT2--JAVA活动(一)制作内部类 正则内部类
  • 原文地址:https://www.cnblogs.com/zhengwk/p/5286156.html
Copyright © 2011-2022 走看看