何时在web应用程序中使用委托类型是有用的

本文关键字:类型 有用 web 应用程序 何时 | 更新日期: 2023-09-27 18:02:32

我使用c#和Asp。Net Web Forms.

我读到Asp。Net使用它的"委托模型"来处理GUI对象的事件。

我担心在其他上下文中使用"自定义委托类型"作为事件处理的一部分是有意义的。

我的问题:

  • 在现实世界的场景中,除了事件处理之外,什么时候使用委托类型是有用的?例如:类中的验证字段?

  • 在哪种架构中自定义委托类型最好的脚?

  • 委托类型的利弊?

感谢您的时间!

何时在web应用程序中使用委托类型是有用的

  • 如果你使用LINQ to Objects,你是在使用委托。(如果你正在使用EF或类似的东西,那么你正在使用委托类型的表达式树。)

  • 如果你使用MVC,你可能也使用表达式树(@Html.For(x => ...))

  • 如果你启动线程或任务,你将使用委托。

基本上,它们非常适合以易于表达的方式表示单个操作。它们可以作为单方法接口的替代品,并且可以很好地为自定义行为提供钩子,而不是使用继承。

自从。net 3.5有了ActionFunc委托家族之后,我就很少创建自定义委托类型了——基本上只有在出于可读性考虑而有必要这样做的时候。