[已解决问题] 为啥delegate不是类成员
提问时间: 2008-07-10 13:12
浏览:222 次
RT~~但是事件可以是类成员?
提问者:沙加 - 老鸟四级
最佳答案
貌似大家没有理解楼主的意思 :) 委托本质上也是类型 所以在类中声明delegate时: public class C { //定义delegate public delegate void Do(string msg); } 可看作是一个嵌套类型,所以不是类的成员(变量) 而event则可以看作“实例”,就像普通的类型实例一样 所以其身份是成员(变量) 不知这样能说明白吗?
2008/7/12 13:23:26 回答者:Anders Cui


提问者对于答案的评价:谢谢
其它回答(4)
delegate同样可以是类成员。 [code] //定义delegate public delegate void Do(string msg); public class C{ //作为类成员变量声明 public Do _do; } [/code]
1个月前   回答者:玉开 - 大侠五级
为什么,很重要吗? C#中的事件处理实际上是一种具有特殊签名的delegate,象下面这个样子: public delegate void MyEventHandler(object sender, MyEventArgs e); 其中的两个参数,sender代表事件发送者,e是事件参数类。MyEventArgs类用来包含与事件相关的数据,所有的事件参数类都必须从System.EventArgs类派生。当然,如果你的事件不含参数,那么可以直接用System.EventArgs类作为参数。
1个月前   回答者:混口饭吃 - 初学一级
委托实际上就是一种特殊的类,委托的实例指向方法的引用。既然是类,委托当然可以作为一个类的成员。
1个月前   回答者:麒麟.NET - 小虾三级
为什么class不是类成员... :)
1个月前   回答者:deerchao - 大侠五级
评论
   您需要登录以后才能回答!
 

我要提问

我的问题


快到期问题

> 问题排行榜

相关链接