社区
C#
帖子详情
C#中有关委托代理delegate
msnadair
2012-06-03 11:52:23
我今天反编译别人的组件,发现了有好些委托代理的声明(定义)没有放在类中,而是直接挂在命名空间下,同类是一个层次的。
查找之后发现,定义的委托在好些类中都有用到。
请问,此种DELEGATE是如何定义的? 不写在具体的某个类中,那应该写在哪? 谢谢!!!
...全文
123
5
打赏
收藏
C#中有关委托代理delegate
我今天反编译别人的组件,发现了有好些委托代理的声明(定义)没有放在类中,而是直接挂在命名空间下,同类是一个层次的。 查找之后发现,定义的委托在好些类中都有用到。 请问,此种DELEGATE是如何定义的? 不写在具体的某个类中,那应该写在哪? 谢谢!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
仁者天下
2012-06-03
打赏
举报
回复
[Quote=引用 4 楼 的回复:]
delegate 跟 class,struct 平级的,依据这个 delegate 的使用范围,如果是某个 class 事件用的,就写在 class 外面,但跟 class 同一文件里,如果是 class 内部的比如线程委托,就写在 class 内部,当然也可以新开文件单独写这些。
[/Quote]
楼上正解,补充一下,delegate 写在哪里与你实际调用该线程时的次序有关,按照其与class平级的原则进行调用
__天涯寻梦
2012-06-03
打赏
举报
回复
delegate 跟 class,struct 平级的,依据这个 delegate 的使用范围,如果是某个 class 事件用的,就写在 class 外面,但跟 class 同一文件里,如果是 class 内部的比如线程委托,就写在 class 内部,当然也可以新开文件单独写这些。
soars
2012-06-03
打赏
举报
回复
public delegate void TestEventHandler(object sender);
public event TestEventHandler testEvent;
obj.testEvent+= new testobj.TestEventHandler(obj);
使用的是 delegate 生成的TestEventHandler的对象来绑定事件
yanele
2012-06-03
打赏
举报
回复
类定义在哪里,DELEGATE就定义在哪里.换句话讲,将DELEGATE当作一个特殊的类就是了.
SocketUp
2012-06-03
打赏
举报
回复
和写在类中是一样的定义
C#
使用
委托
(
delegate
)实现在两个form之间传递数据的方法
本文实例讲述了
C#
使用
委托
(
delegate
)实现在两个form之间传递数据的方法。分享给大家供大家参考。具体分析如下: 关于
Delegate
【
代理
、
委托
】是
C#
中
一个非常重要的概念,向前可以推演到C++的指针,向后可以延续到匿名方法、lambda表达式。 现在我就从一个最简单最实用的一个小例子出发分析一下
Delegate
的使用。 现在有两个窗体Form1和Form2。 两个按钮Button1(Form)和Button2(Form2)。 Form1的代码: private void button1_Click(object sender, EventArgs e) { Form2 frm
VB.Net-
C#
多线程Thread-
代理
委托
delegate
编程
最近收集的VB.Net-
C#
多线程Thread-
代理
委托
delegate
编程。文章列表:
c#
.net多线程同步.txt
C#
WebBrowser页面与WinForm交互技巧一.txt
C#
多线程编程-多细全.txt
C#
多线程编程简单实例.txt
C#
多线程窗体控件安全访问.txt
C#
多线程使用TextBox控件 .txt
C#
多线程注意点.txt Control的Invoke和BeginInvoke.txt Invoke和BeginInvoke的真正含义.txt NET异步调用模式.txt TreeView更新线程.txt url.txt VB.NET多线程——创建新线程.txt VB.NET多线程——高级同步技术.txt VB.NET多线程——线程池.txt Visual
C#
多线程参数传递浅析.txt WebBrowser控件-弹出新窗体和关闭窗口.txt WebBrowser控件的简单应用2.txt 多线程为基于.NET的应用程序实现响应迅速的用户.txt 浅述WinForm多线程编程与Control.Invoke的应用.txt 微软.Net开发
中
的多线程编程总结.txt 线程
中
的参数传递.txt
C#
中
委托
和事件的例子
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace
Delegate
AndEventDemo { public
delegate
void ClickEventHandler(object sender, EventArgs e); //声明一个
代理
public class MyButton { public event ClickEventHandler ClickEvent; //声明一个事件 public void Click() { if (ClickEvent != null) { Console.WriteLine("MyButton:我被单击了"); ClickEvent(this, null); } } } public class MyForm { public MyButton myButton = new MyButton(); public MyForm() { myButton.ClickEvent += new ClickEventHandler(OnClickEvent); } void OnClickEvent(object sender, EventArgs e) { Console.WriteLine("MyForm:我知道你被单击了"); } } class Program { static void Main(string[] args) { MyForm form = new MyForm(); form.myButton.Click(); Console.ReadKey(); } } }
深入理解
C#
中
常见的
委托
一提到
委托
,浮现在我们脑海
中
的大概是听的最多的就是类似C++的函数指针吧,呵呵,至少我的第一个反应是这样的。关于
委托
的定义和使用,已经有诸多的人讲解过,并且讲解细致入微。我就不用多废话了。今天我要说的是
C#
中
的三种
委托
方式:Func
委托
,Action
委托
,Predicate
委托
以及这三种
委托
的常见使用场景。Func,Action,Predicate全面解析首先来说明Func
委托
,通过MSDN我们可以了解到,Func
委托
有如下的5种类型: 代码如下:(1) *
delegate
TResult Func
(); (2)*
delegate
TResult Func<T1,TResul
C#
下的Delagate实例
在
C#
中
没有指针,但是却多了
代理
和
委托
,相对C和C++更容易上手。
C#
110,571
社区成员
642,568
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章