学习C#中遇到的事件访问器的问题
学习C#中遇到的事件访问器的问题
questions
class Cortrol:Componet
{
static readonly object mouseDownEventkey=new object()
static readonly object mouseUpEventKey=new object()
protected Delegate GetEventHandler(object key){......}
protected void AddEventHandler(object key,Delegate handler){......}
protected void RemoveHandler(object key,delegate handler){.......}
public event MouseEventHandler Mousedown
{
add{AddEventHandler(mouseDownEventKey,value);}
remove{AddEventHandler(mouseDownEventKey,value);}
}
public event MouseEventHandler MouseUp
{
add{AddEventHandler(mouseUpEventKey,value);}
remove;'{AddEventHandler(mouseUpEventKey,value);}
}
}
问题如下:
1:static readonly object mouseDownEventkey=new object()
static readonly object mouseUpEventKey=new object()
这是声明两个静态的只读的对象 在C#是否有这样对象 mouseDownEventkey mouseUpEventKey 他们属于什么命名空间呢 谢谢呢?
2:问题二:事件访问器的声明是否就是 在类似C中调用某个函数之前的声明?
3:
public event MouseEventHandler Mousedown
{
add{AddEventHandler(mouseDownEventKey,value);}
remove{AddEventHandler(mouseDownEventKey,value);}
}
看看这个函数 我不是很理解 public event MouseEventHandler Mousedown 在此 是否 Mousedown表示事件名称 那么 MouseEventHandler
表示什么 事件类型吗?
add{AddEventHandler(mouseDownEventKey,value);}
remove{AddEventHandler(mouseDownEventKey,value);}
这两句事件中间体也是不理解 代表什么?
4:
protected void AddEventHandler(object key,Delegate handler){......}
protected void RemoveHandler(object key,delegate handler){.......}
是否表示 添加 删除的 访问声明的访问器?
5:protected Delegate GetEventHandler(object key){......}
这句话有什么作用呢?是否表示对 代表类型的预先声明?
问题点数:20、回复次数:6Top
1 楼lgq1314()回复于 2005-08-02 13:48:13 得分 0
希望有更深入详细的解释Top
2 楼zhongwanli(㊣【为了老婆,二次重构____然后升★★】㊣)回复于 2005-08-02 14:08:19 得分 0
MARKTop
3 楼xingshi310(星矢)回复于 2005-08-11 19:18:15 得分 0
MARKTop
4 楼xingshi310(星矢)回复于 2005-08-11 19:19:39 得分 0
我刚刚也看到了和你一模一样的代码,同样不是非常理解。希望有高手指教Top
5 楼xingshi310(星矢)回复于 2005-08-11 19:41:26 得分 0
刚才查了一下msdn,MouseEventHandler是作为一个代表存在,定义为:public delegate void MouseEventHandler(
object sender,
MouseEventArgs e
);Top
6 楼debug_fan(累疯)回复于 2005-08-11 21:18:41 得分 0
建议楼主先看看委托(delegate)先 -_-!
之后再重新问以上问题 :)Top




