大家谈谈委托和使用委托实现事件处理的原理。

问题描述

以前学过JAVA,是比较经典的面向对象的开发语言,这两天开始看C#,也是面向对象的语言,但是同时它也是一种基于组件的开发语言。以前没有接触过.NET的朋友也许都不是很清楚委托,装箱,拆箱等概念吧,在这里希望比较资深的朋友能给我们这些初次接触C#(.net)的人一些建议和看法首先希望给我们讲解一下委托和事件的原理写的越容易理解越好谢谢

解决方案

解决方案二:
在公司看了一上午的委托和事件(其实也没有那么久了,2个小时而已),终于明白了一些,看大家都没有回帖,可能是因为我没有设置加分,我的分太少了,刚来CSDN。委托我对委托的理解是这样的:实现定一个函数规范(简单点说就是定义一个函数的格式)如publicinttest(inta)委托里是这样写的publicdelegateinttest(inta)注:现查的字典delegate是委托托付的意思其实就是定义一个函数格式然后委托给publicintest(inta)然后再定义几个函数publicinttest2(intb){方法体1。。。。}publicinttest3(intc){方法体2。。。。}。。。。。注意:上面的两个方法的参数和返回值都和之前委托的那个函数的格式一样都只有一个int型的返回值一个int型的参数而且参数个数为一个再main函数里调用委托publicstaticvoidmain(String[]a){testt1=newtest(test2);t1(3);//上面的意思(new后面是实例化一个东西)实例化一个委托函数test并把test2加载到委托里去,说白了就是之后执行的是方法test2,“3”是随便传入的一个int型的参数testt2=newtest(test3);t2(4);//同上}其实test就是一个指针它指到之前定义好的哪个方法(函数)就执行哪个方法test指向test2就执行test2方法;简直就是语无伦次了呵呵。。。。事件下午如果有时间再写吧累了天生不适合给别人讲东西。所以和女友吵架从来我输。。。。。。。。。

时间: 2024-07-29 06:13:56

大家谈谈委托和使用委托实现事件处理的原理。的相关文章

从反射看委托与事件 委托真的是一个类

关于委托与事件,网上介绍得非常之多,在此不再赘述,本人最近需要捣鼓一些委托,因而对委托进行一 定的寻根究底,故用反射把委托的成员揪出来,且看如下代码: delegate void DelegateDemo(); static event DelegateDemo delHandle; static void Main() { delHandle += new DelegateDemo(MyDelegate_delHandle); MemberInfo[] mis = delHandle.GetT

C#委托基础1——委托基础

  C#委托基础系列原于2011年2月份发表在我的新浪博客中,现在将其般至本博客. 委托和其委托的方法必须具有相同的签名.签名相同:1.参数类型相同 2.参数数量相同 3.返回值一致   例一 class Program { public delegate int MathMethod(int x, int y); public int Add(int a, int b) { return a + b; } static void Main(string[] args) { MathMethod

艾伟_转载:把委托说透(1):开始委托之旅 委托与接口

委托,本是一个非常基础的.NET概念,但前一阵子在园子里却引起轩然大波.先是Michael Tao的随笔让人们将委托的写法与茴香豆联系到了一起,接着老赵又用一系列文章分析委托写法的演变,并告诫"嘲笑孔乙己的朋友们,你们在一味鄙视"茴"的四种写法的同时,说不定也失去了一个了解中国传统文化的机会呢!". 在我个人看来,委托是.NET Framework中一个非常炫的特性,绝不会向有些评论里说的那样,根本没有机会接触.恰恰相反,我们几乎每天都会接触委托,使用委托. 其实园

[叩响C#之门]第16章 委托和事件 16.4 事件处理机制

16.4 事件处理机制 16.4.1 事件处理机制的原理 我们已经知道,Windows应用程序是需要事件驱动的,当一个窗体应用程序启动后,系统就不停的检测是否有事件发生,如果检测到事件,就执行对应的事件处理程序.

c# 委托 接口-c#委托和接口的组合问题

问题描述 c#委托和接口的组合问题 现在有个接口interface a {void hi();} 有个代理 delegate SomeDelegate(); 如何限制这个代理所需要的方法 是实现了接口a的类的hi()方法?

委托示例(利用委托对不同类型的对象数组排序)

  1using System;  2using System.Collections.Generic;  3using System.Text;  4  5namespace delegateTest  6{  7    /**//// <summary>  8    /// 演示利用委托给不同类型的对象排序  9    /// </summary> 10    class Program 11    { 12        delegate bool CompareOp(obj

多线程,异步委托,同步委托几种方式的区别

Code        public delegate void DoThingsDelegate();        private void Window_Loaded(object sender, RoutedEventArgs e)        {            //通过子线程调用方法  按钮事件可以执行            Thread a = new Thread(new ThreadStart(DoSomeThing));            a.IsBackgrou

为LINQ服务的C#新特性总结篇---扩展方法,匿名委托,lambda表达式,Action委托,Func委托,Linq中的order by,top和sum函数

Codeusing System;using System.Collections.Generic;using System.Linq;using System.Text; using System.Diagnostics; namespace ConsoleApplication1{    static class Program    {        static void Main(string[] args)        {            //Predicate       

我对C#中事件委托的通俗看法

这是我对C#中事件的通俗看法,比较适合初学者(其实我也是初学者)对C#事件的理解,本人因为刚入门,在学习C#的事件原理时,发现很多书上写得很不好理解,不适合初学者,所以我想在这里谈谈我对它的看法,可能不是很准确,如果说得对的,请大家鼓鼓掌,不对的或是不规范的地方,还请高手帮忙更正一下,谢谢了. 在学C#之前,我看过<JAVA编程思想>,还有一些JAVA的入门级的书籍,其中对事件的讲解,总是用事件监听,事件适配器来举例, 所以我就一直认为,在C#中,RUNTIMING会一直监测每个控件的状态,如