![]() |
1
8
你只需要提取
a) 它的功能是需要在其他地方,或者可能
|
![]() |
2
4
这样把它们分开是有一定意义的,如果你想打电话的话,这真的很有用
然而,这里有一个更好的选择——至少如果你是以编程方式订阅的话。请改用匿名方法或lambda表达式:
这样做的缺点是它不能与visualstudio的设计器生成的事件订阅一起工作。就我个人而言,我希望VisualStudio支持使用不包含所有委托参数的方法订阅事件—它可以自动生成匿名方法(或lambda表达式)。我想,这将是两全其美。 正如其他答案所说的,我认为如果不需要从其他地方调用方法体,那么将方法体保留在事件处理程序方法本身中是合理的。 |
![]() |
3
1
不,不一定。
除非你要用
Button1\u Click本身已经是一个方法。它恰好是与click事件委托匹配的生成的头。你可以随便取这个名字,一切都会按照你想要的方式进行。 |
![]() |
4
1
|
![]() |
5
0
我个人认为这取决于代码的长度,以及代码是否在逻辑上位于那里。 所以如果只有1或2行,我就在里面做,但是如果有更多的代码行,我就用一个单独的方法做。 |
![]() |
6
0
是的,额外的方法是“更好”,但你必须权衡与雅格尼(你不会需要它)反原则。 有两个 额外的方法被认为更好:
这两者都归结为封装和将行为与事件分离的思想。没有人会在稍后使用此代码时重构以删除额外的方法,但是没有使用额外方法的代码的人可能会重构以添加它。但同样-雅格尼。 |
![]() |
7
0
|
![]() |
8
0
如果它是可重用的代码,那么就把它放在外面。还有一些编码准则,检查你公司的政策,强迫你选择第二种风格。 天哪,克里斯。 |
![]() |
9
0
但是,对于课堂教学(或演示代码),我认为直接使用事件处理程序没有什么错。 |
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
![]() |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
|
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
![]() |
i_sniff_ket · 在unity之外使用unity类 2 年前 |