委托实例

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 委托
{
    //随机数产生委托类型
    delegate int DRandomBuilder(int min,int max);
    class CRandomBuilder
    {
        private Random rnd;
        public CRandomBuilder()
        {
            rnd = new Random();
        }
        public int GetRandomNumber1(int min, int max)
        {
            return rnd.Next(min,max+1);
        }
        public int GetRandomNumber2(int min, int max)
        {
            Random r = new Random(DateTime.Now.Millisecond);
            return r.Next(min,max+1);
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            CRandomBuilder bb = new CRandomBuilder();
            DRandomBuilder dr1 = new DRandomBuilder(bb.GetRandomNumber1);
            DRandomBuilder dr2 = new DRandomBuilder(bb.GetRandomNumber2);
            Console.WriteLine("第一个随机数是{0}",dr1(1,9));
            Console.WriteLine("第二个随机数是{0}",dr2.Invoke(100,900));
        }
    }
}
时间: 2024-07-30 04:21:22

委托实例的相关文章

C# 委托实例(跨窗体操作控件)

原文地址 http://blog.csdn.net/bdstjk/article/details/7004035 FORM1(一个名为“打开form2”的button控件) FORM2(一个名为“改变form1颜色“的button控件) 启动时,FORM1中点击button控件“打开form2””使FORM2显示出来. 点击FORM2中的“改变form1颜色”后,Form1中颜色改变. 完整代码 1 using System; 2 using System.Collections.Generic

C#委托实例

C# 委托实例 ,关键词 :delegate 下面是微软给出的官方解释,自行感受一下,   本质就是把方法当作参数使用 delegate 是表示对具有特定参数列表和返回类型的方法的引用的类型. 在实例化委托时,你可以将其实例与任何具有兼容签名和返回类型的方法相关联. 你可以通过委托实例调用方法. 委托用于将方法作为参数传递给其他方法. 事件处理程序就是通过委托调用的方法. 你可以创建一个自定义方法,当发生特定事件时,某个类(如 Windows 控件)就可以调用你的方法. 下面的示例演示了一个委托

C#创建委托实例

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace MyDelegate { class Program { static void Main(string[] args) { List<User> users = GetUsers(); //1.传统方式实例化委托实例 users = users.OrderBy(new Func<User, int

C# 委托实例(跨窗体操作控件)

在C#里面却是可以不用自定义消息这么复杂的方法来实现跨窗体调用控件,C#有更好的办法就是委托. 效果描述:有两个窗体,FORM1(一个名为“打开form2”的button控件)和FORM2(一个名为“改变form1颜色“的button控件).启动时,FORM1中点击button控件“打开form2””使FORM2显示出来.点击FORM2中的“改变form1颜色”后,Form1中颜色改变. 一.在Form2里面:       首先声明一个委托和委托实例Form2类外 public delegate

jQuery的事件委托实例分析

事件委托主要是利用事件冒泡现象来实现的,对于事件委托的精准的掌握,可以有利于提高代码的执行效率.先看一段代码实例: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>脚本之家</title> <style type="text/css"> table{ width:300px; height:60px; backg

jQuery事件绑定和委托实例

本文实例讲述了jQuery事件绑定和委托.分享给大家供大家参考.具体方法如下: jQuery事件的绑定和委托可以用多种方法实现,on()  . bind()  . live()  . delegate() ,还有one(). 有时我们可能会像下面这样绑定一个事件: 复制代码代码如下: $("#div1").click(function() {      alert("点击后触发");  }); 上面的事件绑定,我们可以通过多种方式去实现: 1. on() 复制代码代

事件与委托实例

委托的语法和方法比较相似,只是比方法多了一个关键字delegate ,我们都知道方法就是将类型参数化,所谓的类型参数化就是说该方法接受一个参数,而该参数是某种类型的参数,比如int.string等等:而委托是将方 法参数化,说了上面的那个类型参数化之后,相信你也能猜到方法参数化的意思了,对,就是将方法作为一个参数传到一个委托中.首先来看看声明委托的语句:public deletate void MyDelegate(); public:访问修饰符 delegate:关键字 void:返回类型 M

[C#]委托实例分析

一直都听说C#中的委托与事件非常重要,都没有什么切身的体会,而这次通过做一个WinForm二次开发的项目才真正感觉到了委托与事件的犀利之处. 1.C#中的事件和委托的作用? 事件代表一个组件能够被关注的一种信号,委托是可以把一个过程封装成变量进行传递并且执行的对象. 2.他们之间的关系? 委托是一种类型,事件是一种成员,就相当于public int Age {get;set;}这个属性中,int就是类型,Age是一个成员,public event EventHandler Push;这个事件中E

通过一个WPF实例进一步理解委托和事件

在前写过"浅谈C#中的委托"和"浅谈C#中的事件"两篇博客,内容有些抽象,似乎难以说明委托和事件的关系. 今天通过一个小程序来进一步说明二者的使用及联系. 首先新建一个WPF应用程序,取名TestDelegateAndEvent. 在.xmal中加入四个按钮,并添加Window_Loaded事件. 代码如下: <Window x:Class="TestDelegateAndEvent.MainWindow" xmlns="http