我在 C# 中相对较新,我想知道 何时适当地使用 Delegates 。它们在事件声明中被广泛使用,但是我什么时候应该在我自己的代码中使用它们,它们 为什么有用? 为什么不使用别的东西?
我也想知道 什么时候必须使用代表,而我没有其他选择 。
感谢您的帮助!
我同意已经说过的一切,只是想在上面加上一些其他的话。
委托可以被视为一个/某些方法的占位符。
通过定义一个委托,您是在对您的类的用户说,“ 请随意将任何与此签名匹配的方法分配给委托,并且每次调用我的委托时都会调用它 ”。
典型的用途当然是事件。所有 OnEventX 委托 给用户定义的方法。
委托对于向您的对象的 用户 提供一些自定义其行为的能力很有用。大多数时候,您可以使用其他方式来实现相同的目的,我不相信您可以 被迫 创建代表。在某些情况下,这只是完成任务的最简单方法。