相关疑难解决方法(0)

C#:'+ = anEvent'和'+ = new EventHandler(anEvent)'之间的区别

拿下面的代码:

private void anEvent(object sender, EventArgs e) {
    //some code
}
Run Code Online (Sandbox Code Playgroud)

以下有什么区别?

[object].[event] += anEvent;

//and

[object].[event] += new EventHandler(anEvent);
Run Code Online (Sandbox Code Playgroud)

[UPDATE]

显然,两者之间没有区别......前者只是后者的语法糖.

c# delegates event-handling

74
推荐指数
3
解决办法
1万
查看次数

+ = new EventHandler(Method)vs + = Method

可能重复:
C#:'+ = anEvent'和'+ = new EventHandler(anEvent)'之间的区别

订阅活动有两种基本方式:

SomeEvent += new EventHandler<ArgType> (MyHandlerMethod);
SomeEvent += MyHandlerMethod;
Run Code Online (Sandbox Code Playgroud)

有什么区别,什么时候我应该选择一个而不是另一个?

编辑:如果它是相同的,那么为什么VS默认为长版本,使代码混乱?这对我来说毫无意义.

c# events

73
推荐指数
4
解决办法
5万
查看次数

如果指定了"new"事件,如何删除事件处理程序 - =工作

在MSDN 事件教程中,通过示例演示了事件:

// Add "ListChanged" to the Changed event on "List":
List.Changed += new ChangedEventHandler(ListChanged);
...
// Detach the event and delete the list:
List.Changed -= new ChangedEventHandler(ListChanged);
Run Code Online (Sandbox Code Playgroud)

我在哪里一直提到代表.例:

ChangedEventHandler myChangedEvent = new ChangedEventHandler(ListChanged);
List.Changed += myChangedEvent;
...
List.Changed -= myChangedEvent;
Run Code Online (Sandbox Code Playgroud)

当我查看MSDN示例代码时," - = new"对我来说是错误的.为什么这个List会引用我刚刚创建的事件处理程序?

显然我必须以错误的方式思考问题?我是否可以获得指向如何 - =工作的技术解释的指针,看看 - =似乎没有使用它.

c# events event-handling

18
推荐指数
2
解决办法
457
查看次数

有和没有"新"的布线事件之间的区别

在C#中,这两行代码之间有什么区别(如果有的话)?

tmrMain.Elapsed += new ElapsedEventHandler(tmrMain_Tick);
Run Code Online (Sandbox Code Playgroud)

tmrMain.Elapsed += tmrMain_Tick;
Run Code Online (Sandbox Code Playgroud)

两者看起来完全相同.当你输入后者时,C#是否只是假设你是指前者?

c# syntax events delegates

14
推荐指数
2
解决办法
3425
查看次数

标签 统计

c# ×4

events ×3

delegates ×2

event-handling ×2

syntax ×1