zoukankan      html  css  js  c++  java
  • C#中的委托 Delegate

    C# 中的委托就是用一个方法去调用另一个方法。在使用委托前必须先定义委托。委托的签名必须与方法签名保持一致。此外还有

    必须有一个方法来实现委托与方法的调用(即用一个方法调用委托的方法)

    1、委托
    
    public delegate int DeleMathOperation(int value);  //返回int ,参数 int
    
    2、方法 
    
    public static int DoubleToTwo(int value)  //返回iint ,参数int  ,与委托保持一致
            {
                return value * 2;
            }
    
    3、调用委托方法(用一个方法来调用另一个方法,方法的参数为委托)
    
    public static void ProcessAndDisplayValue(DeleMathOperation action, int value)
            {
                int result = action(value);
                Console.WriteLine("The value is {0} ,and Result is {1}", value, result);
                
            }
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using Wrox.ProeCSharp.JupiteBank;
    using Wrox.ProeCSharp.VenusBank;
    namespace Wrox.ProeCSharp
    {
        
        class MathOpration
        {
            public static int DoubleToTwo(int value)
            {
                return value * 2;
            }
    
            public static int Squre(int value)
            {
                return value * value;
            }
        }
             
        class Program
        {
            public delegate int DeleMathOperation(int value);
            static void Main(string[] args)
            {
                            DeleMathOperation[] DeleteOp = {MathOpration.DoubleToTwo,MathOpration.Squre };
                for (int i = 0; i < DeleteOp.Length; i++)
                {
                    Console.WriteLine("Using the DeleteOp[{0}]:", i);
                    ProcessAndDisplayValue(DeleteOp[i], 2);
                    ProcessAndDisplayValue(DeleteOp[i], 5);
                    ProcessAndDisplayValue(DeleteOp[i], 10);
                    Console.ReadLine();
                }
            }
    
            public static void ProcessAndDisplayValue(DeleMathOperation action, int value)
            {
                int result = action(value);
                Console.WriteLine("The value is {0} ,and Result is {1}", value, result);
                
            }
        }
    }

  • 相关阅读:
    网络兼职轻松赚
    微信H5支付demo
    支付宝H5支付demo
    笔记本安装SSD固态硬盘详细的优化设置
    JQuery的AJAX
    第二次面试
    存储过程的总结
    SQl数据操作和查询
    面对考试毫无畏惧的SSH
    掷骰子-IOS新手项目练习(抱歉,由于个人原因,图片没显示,要源码的项目私聊)
  • 原文地址:https://www.cnblogs.com/wenjie0904/p/8324468.html
Copyright © 2011-2022 走看看