zoukankan      html  css  js  c++  java
  • 简单的委托示例

    使用委托数组,遍历方法。

    using System;
    
    namespace 简单的委托事例
    {
        //定义一个委托
        delegate double DoubleOp(double x);
        class Program
        {
            static void Main(string[] args)
            {
                //DoubleOp op1= MathOperations.MultiplyByTwo;
                //在这段代码中,实例化了一个DoubleOp委托的数组(记住,一旦定义了委托类,基本上就可以实例化它的实例,
                //就像处理一般的类那样-所以把一些委托的实例放在数组中是可行的)。该数组的每个元素都初始化为指向MathOperations类实现的不同操作。
                //然后遍历这个数组,把每个操作应用到3个不同的值上。这说明了使用委托的一种方式-
                //把方法组合到一个数组中来使用,这样就可以在循环种调用不同的方法了。
                DoubleOp[] operations = {
                    MathOperations.MultiplyByTwo,
                    MathOperations.Square
    
                };
                for(int i = 0;i<operations.Length;i++){
                    System.Console.WriteLine($"Using operation{i}");
                    ProcessAndDisplayNumber(operations[i],2.0);
                    ProcessAndDisplayNumber(operations[i],7.94);
                    ProcessAndDisplayNumber(operations[i],1.414);
                    System.Console.WriteLine();
    
    
                }
               // Console.WriteLine("Hello World!");
            }
            //其中传递了委托名,但不带任何参数。假定operations[i]是一个委托,在语法上:
            //1. operations[i]表示“这个委托”。换言之,就是委托表示的方法。
            //2. operations[i](2.0)表示“实际上调用这个方法,参数放在圆括号中”。
            static void ProcessAndDisplayNumber(DoubleOp action,double value){
                double result = action(value);
                System.Console.WriteLine($"Value is {value},result of operation is {result}");
    
            }
        }
    
        //定义一个类,它有两个静态方法,对double类型的值执行两种操作,然后使用该委托调用这些方法。
        class MathOperations{
            public static double MultiplyByTwo(double value)=>value*2;
            public static double Square(double value)=>value*value;
        }
    }
  • 相关阅读:
    pyqt动画的使用
    pyqt 自定义信号
    设计工具- QtDesigner
    样式控制-QSS 样式表
    布局管理之 QStackedLayout (堆 布局)
    布局管理之 QGridLayout (网格布局)
    布局管理之 QFormLayout (表单布局)
    看代码中
    公司同事好坑
    我要多开梦幻手游PC端(梦幻手游PC端多开的简单分析及实现办法)
  • 原文地址:https://www.cnblogs.com/singhwong/p/11955476.html
Copyright © 2011-2022 走看看