![]() |
1
2
我认为第一种方法更安全。 afaik对于方法执行顺序没有保证,而且如果方法确实是按顺序来的,那么第一个方法无论如何都更有意义。 此外,当多个事件处理程序附加到一个事件时,在分离单个事件处理程序时很容易遗漏其他事件。 |
![]() |
2
0
我也会先做…… 在这两个例子中,表演应该是非常接近的,但是1更容易理解imho-但是,这取决于他们在做什么。我更喜欢这个,例如:
…我希望你明白我的意思:p 如果您可以将两个事件处理程序绑定到一个公共过程中(从域的角度进行讨论),我会这样做。如果处理程序完全不相关,我会将它们保存在不同的处理程序中。 答案是非常主观的。没有人能够提供“最终答案,结案”——类似的答案。 |
![]() |
3
0
我之所以使用第一个,是因为它是传统的实践,对其他开发人员来说更清楚。在任何情况下,事件处理程序的处理都很难跟踪,因此请尽可能多地为每个人提供帮助。 |
![]() |
4
0
视情况而定。 如果下面所有(或大部分)都是真的,我将使用第二个选项:
如果订单很重要,第一个选项是必须的,因为它是明确的。我不知道C语言规范是否保证第二个选项中的顺序。 |
![]() |
5
0
我更喜欢第一种选择,因为一个单一的(主观的)原因。 这更具描述性,以后其他人更容易理解。如果事件是人们稍后需要取消订阅的事件,那么这一点就变得很重要了——与2个事件相比,拥有一个需要取消订阅的单个事件更有可能被其他人正确处理。 由于您询问了执行顺序,这表明这两个函数是相关的。这样做会迫使事件一起取消订阅,因此从func1()而不是func2()取消订阅是不可能的,如果您担心执行顺序(btw是有保证的),这可能非常关键。 |
![]() |
6
0
啊,现在我明白了。这是一个关于 Multicast Delegates . 根据文件…… 多播委托具有委托的链接列表,称为调用列表,由一个或多个元素组成。当一个多播委托被调用时,调用列表中的委托按照它们出现的顺序被同步调用。 但是,如果您关心调用的顺序,我不会依赖于此,我将使用下面的第一个方法或方法。 如果您喜欢语法,您可以同时执行这两种操作,但需要两个调用的函数抽象…
|
![]() |
A B · C#Excel自动调整列避免长文本时出错 3 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 3 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 3 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 4 月前 |