代表们的主要流程是什么?

rat*_*tty 2 c# delegates

什么是介绍代表的主要原因,也是解决哪些类型的问题.我想知道这个问题.谢谢你提前

Jon*_*eet 5

您可以大都认为代表为像一个单一的方法接口.因此,在没有代理的语言(例如Java)使用接口的地方,拥有委托是有意义的.

代表通过接口获得以下好处:

  • 实现可以是私有的,而实现接口的方法必须在Java中公开.(C#也有明确的接口实现.)
  • 您可以在单个类中实现多个委托,甚至可以多次实现相同的委托类型
  • 框架和语言为代表提供了额外的支持:
    • 将它们组合在一起(并将它们移除)
    • 发布/子框架(事件)
    • 使用线程池的后台调用(BeginInvoke等)
    • Lambda表达式和匿名方法使它们易于创建"内联"
    • 表达式树,表示数据中的表达式的逻辑而不是IL

代表通常用于:

  • 事件处理,例如在GUI中
  • 提供"小"行为,例如LINQ中的过滤器和投影
  • 异步编程的回调

将它们视为封装单一行为的一种方式,并查看它引导您的方式.