为什么在c#中需要分部方法?事件可以用来实现同样的目标吗?
我在读《Apress Pro LINQ:C#中的语言集成查询》一书时遇到了部分方法,但我真的不明白它们需要什么 我认为书中的示例(更改前后的属性)可以使用事件实现。有什么解释吗?它们不是“需要的”,而是大规模应用所需要的。事件的广泛使用导致了智能UI反模式,其中业务逻辑与用户界面紧密耦合,而部分功能允许您更好地分离关注点 这里还有一个指向MSDN C#部分方法编程指南的链接。为什么在c#中需要分部方法?事件可以用来实现同样的目标吗?,c#,.net,partial-methods,C#,.net,Partial Methods,我在读《Apress Pro LINQ:C#中的语言集成查询》一书时遇到了部分方法,但我真的不明白它们需要什么 我认为书中的示例(更改前后的属性)可以使用事件实现。有什么解释吗?它们不是“需要的”,而是大规模应用所需要的。事件的广泛使用导致了智能UI反模式,其中业务逻辑与用户界面紧密耦合,而部分功能允许您更好地分离关注点 这里还有一个指向MSDN C#部分方法编程指南的链接。 是的,您可以使用事件实现与使用分部方法类似的效果。分部方法实际上只是让代码生成器(主要是设计人员)为未生成的代码生成钩子
是的,您可以使用事件实现与使用分部方法类似的效果。分部方法实际上只是让代码生成器(主要是设计人员)为未生成的代码生成钩子的一种方式。事件可以填补这个角色 然而,局部方法比事件更具优势
- 如果没有实现,则从生成的IL中完全删除部分方法调用。这不能通过事件来完成李>
- 部分方法的设计是为了解决一个钩子提供者和一个消费者的问题。事件是指具有N个使用者的模型1提供者,并且具有这种设计带来的开销
- 没有订购的问题(谁先去)。对于事件,您需要确保订阅事件的代码在设计器生成引发事件的代码之前运行。如果设计人员生成构造函数,这并不总是可能的。部分方法没有这样的问题