gpt4 book ai didi

c# - 何时在 Web 应用程序中使用委托(delegate)类型很有用

转载 作者:太空宇宙 更新时间:2023-11-03 20:32:40 26 4
gpt4 key购买 nike

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

我了解了 Asp.Net 使用其“委托(delegate)模型”处理 GUI 对象事件的方式。

我同意在事件处理的其他上下文中使用“自定义委托(delegate)类型”是否有意义。

我的问题:

  • 在现实世界中,除了事件处理之外,什么时候使用委托(delegate)类型会有用?示例:对于类中的验证字段?

  • 在哪种架构中 Custom Delegate Type 最适合?

  • 代理类型的优缺点?

感谢您抽出宝贵时间!

最佳答案

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

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

  • 如果您曾经启动线程或任务,您将使用委托(delegate)。

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

自从 .NET 3.5 及其 ActionFunc 委托(delegate)系列以来,我很少创建自定义委托(delegate)类型 - 基本上只有在考虑到可读性的情况下才这样做。

关于c# - 何时在 Web 应用程序中使用委托(delegate)类型很有用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6688775/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com