我在C#方面相对较新,&我想知道when to use Delegates appropriately. 它们在事件声明中广泛使用,但是我应该在什么时候在我自己的代码和why are they useful? why not to use something else?中使用它们呢

我也想知道when I have to use delegates and I have no other alternative美元.

谢谢你的帮助!

编辑:我想我找到了一架necessary use of Delegates-here

推荐答案

我同意所有已经说过的话,只是试着在上面加上一些其他的词.

可以将委托视为一个/某些方法的占位符.

通过定义一个委托,你对类的用户说,"Please feel free to assign any method that matches this signature to the delegate and it will be called each time my delegate is called".

典型的用法当然是事件.所有OnEventX delegate都支持用户定义的方法.

为您的user个对象提供一些自定义其行为的功能,代理非常有用. 大多数时候,你可以使用其他方式来达到同样的目的,我不相信你可以在forced岁时创造代表.在某些情况下,这只是完成这件事的最简单的方法.

.net相关问答推荐

使用React路由加载器获取数据不能正常工作

如何按需计算一个值并将该值缓存在FP/F#中?

.net Maui 在单击按钮时访问 CollectionView 中的数据项

无法实例化类的代理:System.Net.HttpWebRequest.找不到无参数构造函数

如何确定计时器是否正在运行?

有没有办法以编程方式最小化窗口

共享 AssemblyInfo 用于跨解决方案的统一版本控制

什么决定了 Path.GetTempPath() 的返回值?

C# 中的 myCustomer.GetType() 和 typeof(Customer) 有什么区别?

寻找 .NET 的命令行参数解析器

VB.NET 与 C# 整数除法

什么是 C# 中的自动属性,它们的用途是什么?

如何将 System.Type 转换为其可为空的版本?

如何对 LINQ to XML 中的元素进行深层复制?

一个接口是否应该继承另一个接口

文件按文件名模式存在

场与财产.性能优化

表单不响应 KeyDown 事件

MVVM 没有意义吗?

名称 <...> 不存在于命名空间 clr-namespace <...>