Gib*_*boK 1 c# architecture delegates
我使用C#和Asp.Net Web窗体.
我读到了Asp.Net使用其"委托模型"处理GUI对象事件的方式.
如果有意义的话,我正在协调使用"自定义委托类型"在其他上下文中作为事件处理的一部分.
我的问题:
在现实世界中,除了事件处理之外,使用委托类型可能有用吗?示例:对于类中的验证字段?
在哪种架构中Custom Delegate Type最好的脚?
代表类型的优缺点?
谢谢你的时间!
如果您根本使用LINQ to Objects,那么您正在使用委托.(如果您使用EF或类似的东西,那么您正在使用委托类型的表达式树.)
如果你使用MVC,你可能也在使用表达式树(@Html.For(x => ...))
如果你曾经开始线程或任务,你将使用代表.
基本上,它们非常适合以易于表达的方式表示单个操作.它们可以用作单方法接口的替代方法,并且可以很好地为自定义行为提供钩子而不是使用继承.
由于.NET 3.5,其Action与Func代表家庭,我很少创建自定义的委托类型-只有当它是有意义的可读性理由这样做,基本上是这样.