关于网友提出的“为啥delegate不是类成员”问题疑问,本网通过在网上对“为啥delegate不是类成员”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:为啥delegate不是类成员
描述:RT~~但是事件可以是类成员?
解决方案1: 为什么class不是类成员...
:)
解决方案2: 委托实际上就是一种特殊的类,委托的实例指向方法的引用。既然是类,委托当然可以作为一个类的成员。
解决方案3: 为什么,很重要吗?
C#中的事件处理实际上是一种具有特殊签名的delegate,象下面这个样子:
public delegate void MyEventHandler(object sender, MyEventArgs e);
其中的两个参数,sender代表事件发送者,e是事件参数类。MyEventArgs类用来包含与事件相关的数据,所有的事件参数类都必须从System.EventArgs类派生。当然,如果你的事件不含参数,那么可以直接用System.EventArgs类作为参数。
解决方案4: delegate同样可以是类成员。
[code]
//定义delegate
public delegate void Do(string msg);
public class C{
//作为类成员变量声明
public Do _do;
}
[/code]
以上介绍了“为啥delegate不是类成员”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1138877.html