最简单易懂的委托例子

 1 class Program
 2 {
 3     delegate double ProcessDelegate(double param1, double param2);
 4
 5     static double Multiply(double param1, double param2)
 6     {
 7         return param1*param2;
 8     }
 9
10     static double Divide(double param1, double param2)
11     {
12         return param1/param2;
13     }
14
15     static void Main(string[] args)
16     {
17         ProcessDelegate process;
18         Console.WriteLine("Enter 2 number separated with a comma:");
19         string input = Console.ReadLine();
20         int commaPos = input.IndexOf(‘,‘);
21         double param1 = Convert.ToDouble(input.Substring(0,commaPos));
22         double param2 = Convert.ToDouble(input.Substring(commaPas+1,input.Length - commaPos-1));
23         Console.WriteLine("Enter M or D:");
24         input = Console>readLine();
25         if(input == "M")
26             process = new ProcessDelegate(Multiply);
27         else
28             process = new ProcessDelegate(Divide);
29         Console.WriteLine("Result:{0}",process(param1 ,param2 ));
30     }
31 }
时间: 2024-10-09 09:32:35

最简单易懂的委托例子的相关文章

委托例子

//一般来说,委托的 定义和执行 是在一个类里的, 绑定事件 在另一个类里,通过实例化 发布者  a,然后用 a绑定要执行的事件. namespace delegatetest{ //订阅者public class mainform { //具体要执行的方法public void addproduct(string prodid, string prodname, int num) { ///.... } //执行订阅的事件 public void click() { //PDA程序是通过反射加

事件委托例子(可跨窗口操作)

事件委托例子: using System; using System.Drawing; using System.Windows.Forms; namespace 跨窗体调用控件 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form2 f = new Form2();

事件与委托例子

? 1 2 3 4 5 6 7 8 9 10 <Window x:Class="DelegateAndEvent.MainWindow"         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"         Title=&q

C# 委托例子

两个子窗口向一个主窗口发送信息 主窗口: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Windo

c#.NET的事件与委托例子

原文发布时间为:2008-07-25 -- 来源于本人的百度文章 [由搬家工具导入] using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebContro

递归回溯最简单易懂的小例子

这是我看刚刚看的剑指offer上的一道面试题:用递归实现链表从后往前输出(c或c++), 我突然想用java试试,然后就有了这样一个小算法题: 任意一个一维数组,用递归实现从右往昨打印输出,下标从0开始, 比如一个数组:{1,2,3}打印:3,2,1 首先分析一下这个小题:从0开始进入递归,递归到数组最后一个元素的时候,开始回溯输出, 如下代码: public class Main { public static void main(String[] args) { int[] arr = ne

js的事件委托

什么是事件委托呢? 首先,委托呢,就是让别人来做,这个事件本来是加在某些元素上的,然而你却加到别人身上来做,完成这个事件.举个例子,比如说送快递,如果一个快递员送一个公司的快递,他可以选择在公司联系每个人来取这个快递,当然另一种方法就是把快递让前台的MM代收,然后公司的人只要自己来前台取就ok了,虽然结果是一样的,但是效率却变快了许多.这里面可以把员工来取快递的行为看作是事件冒泡(什么是事件冒泡上篇文章有提). 特别注意: 事件委托是通过事件冒泡实现的,所以如果子级的元素阻止了事件冒泡,那么事件

委托,不知道你是否有也这样理解(一)

目录: 什么是委托 委托的作用 委托的本质 委托链 委托链返回值 一.什么是委托? 委托:将符合规则的方法进行包装.装载方法引用的盒子.将方法作为参数传递. class Program { static void Main(string[] args) { StaticDelegateDome(); } //定义没有返回值委托Feedback,需要一个数值类型参数 internal delegate void Feedback(Int32 value); //方法群:静态.静态.实例 priva

小兵 浅谈C#委托&lt;delegate&gt;

最近处于面试找工作的阶段,面试中遇到这个问题已经多次,一直想了解,就趁这个机会好好梳理一下啊. 当提及委托,大多数人第一印象是它相当于C++的函数指针,可以将方法作为参数进行传递,也可以达到函数回调的作用. 委托例子:其实在生活中也有很多这样的例子,例如我们打官司,首先应该找到律师,委托律师去帮我们打官司,这就是委托.在程序中我们可以针对这个例子这样写: 1.首先定义一个委托:public delegate void Lawyer(string matter)   //相当于律师这个角色 2.再