委托,事件

问题描述

请教下使用委托,和使用事件调用委托的好处,在项目里什么情况下用,最好能给个例子,谢谢

解决方案

解决方案二:
事件和委托可以提供回调功能从而降低耦合或者完全解耦。委托的一个例子,可以通过函数参数传递委托来实现回调,而不用关心最终的输出对象在什么地方http://blog.csdn.net/jinjazz/archive/2008/05/07/2413039.aspx事件的一个例子,和委托类似http://blog.csdn.net/jinjazz/archive/2008/05/06/2397136.aspx

时间: 2024-10-30 16:55:35

委托,事件的相关文章

委托/事件/线程传参简单理解

写了很多代码,但几乎都没写过委托/事件/线程传参方面应用的代码 因此自己总很容易理解后又遗忘 今天又重温了一下 因此以最简单的方式的代码方式写下来帮助理解 1.线程传参[简单几行代码]    1 static void Main(string[] args) 2         { 3             if (ThreadPool.QueueUserWorkItem(new WaitCallback(Program.WritePara), "这是传进去的参数")) 4     

委托事件 问题 求求各位大神了

问题描述 委托事件 问题 求求各位大神了 public event clsOPC.DataChangeEventHandler DataChange { [MethodImpl(MethodImplOptions.Synchronized)] add { this.DataChange += (clsOPC.DataChangeEventHandler)Delegate.Combine(this.DataChange, value); } [MethodImpl(MethodImplOption

如何将多线程中接收数据处理的方法通过委托事件共用户使用呀!

问题描述 如何将多线程中接收数据处理的方法通过委托事件共用户使用呀!具体描述:一个TcpServer类主要是任务有启动服务.停止服务.接收连接的Socket(每接收一个Socket的建立一个线程对该Socket进行管理.线程调用的是Socket中的一个方法)Socket类:接收数据.发送数据等.注:将接收到的数据通过事件的方式委托到外面进行操作.如何做呀!还是这样的设计细路就有问题呀!!该如何设计呢!!! 解决方案 解决方案二:参考:http://blog.csdn.net/zhiang75/a

VC.Net 中 Remoting 技术中,delegate event 客户端定义委托事件的问题

问题描述 我使用C#Remoting技术实现一个传输信息的DLL,里面定义了一个委托事件,主要实现服务器向客户端发送一些信息publicclassRemoting_Object:MarshalByRefObject{publicdelegatevoidChatRoomEventHandler(strings);//定义了1个"ChatRoomEventHandler委托类型"的事件及远程回调函数publiceventChatRoomEventHandlerMessageReceive;

C# 中如何利用lambda实现委托事件的挂接

在写一个小程序的时候,碰到了这样的问题,需要用委托来挂接事件,但是又想在这事件中使用局部的变量,而委托一旦定义好后,挂接方就没有办法再添加额外的形参了.那有没有什么办法,可以实现呢   委托定义如下: 复制代码 代码如下: public class SocketSp {  public delegate void ReceiveCompleted(byte[] receiveBuffer, int receiveTotalLen,Exception ex);  public ReceiveCom

C# 委托 事件 匿名方法

(*) 委托 delegate 从最简单的例子开始: namespace ConsoleApplication1 { class Program { // 委托其实就相当于一个类型.这里,类型的名字叫BinaryOp public delegate int BinaryOp(int x, int y); static public int Add(int x, int y) { return x + y; } static void Main() { // 创建一个BinaryOp类型的实例,用

C#基础知识回顾--委托事件

在上一篇看到他我一下子就悟了(续)---委托,被人狂喷.说写的太空,没有什么内容之类的.所以准备在这里重写下,不过还是按着以前的方式尽量简单的写.这里我们以打篮球为例. 第一步:首先,其他对象订购事件        当发球的球员产生它的发球事件之前,其他球员需要订购这个事件,采用这种方式,只要出现一个发球事件,其他球 员就能够知道.   第二步:触发事件        当球被发出时,此时发球员对象产生一个新事件.   第三步:球产生一个事件          创建一个新事件,这个事件还有一些参数

委托事件问题

问题描述 publiceventclsOPC.DataChangeEventHandlerDataChange{[MethodImpl(MethodImplOptions.Synchronized)]add{this.DataChange+=(clsOPC.DataChangeEventHandler)Delegate.Combine(this.DataChange,value);}[MethodImpl(MethodImplOptions.Synchronized)]remove{this.D

关于委托事件

问题描述 下面c#的代码,请高手改成vb的publicdelegateboolDoMouseMove(intX,intY);privateeventDoMouseMoveMouseMove;这是我改的代码,不过提示如下:错误25事件不能用具有返回类型的委托类型声明.PublicDelegateFunctionDoMouseMove(ByValXAsInteger,ByValYAsInteger)AsBooleanPrivateEventMouseMoveAsDoMouseMove 解决方案 解决

好像是关于委托事件

问题描述 现在的问题是ocx是用c++写的,我需要用c#做一个winform,实现ocx有个函数c++里是LONGRegCallback(ULONGEvent,IDispatch*dispCall,ULONGMsgMask); 这个函数在vs的c#环境下显示是intRegCallback(uintEvent,objectdispCall,uintMsgMask) 我要是实现的就是用这个函数对ocx注册一个监听,dispcall这个应该是事件触发后回调的函数帮我解决一下我这个应该怎么写关于c#里的