繁体   English   中英

了解代表泛型

[英]Understanding Delegates Generics

我正在学习一门有关在复数视力下开发可扩展软件的课程,其中一张幻灯片中出现了这段代码。 到目前为止,我对委托的理解是,它被用来指向其他方法,但是我无法弄清楚委托在这里的目的是什么,请问有人能指出我正确的方向吗。

在此处输入图片说明

如此处所写,它不是很有用...他们本可以使用Action<OrderItemProcessedEventArgs> ,但它是等效的。 Action<>是不返回任何内容的方法的泛型委托。它的正式描述类似于封装具有单个参数且不返回值的方法。

编写的委托(和Action<OrderItemProcessedEventArgs> )表示一个返回void (因此不返回任何内容)并且接受单个OrderItemProcessedEventArgs参数的方法。 因此,例如:

public void MyMethod(OrderItemProcessedEventArgs arg)
{
}

将是与该委托兼容的方法。

现在...那段大代码创建了一个CommerceEvents ,它似乎是事件的容器(不是C# event ,直接委托),一些代码片段可以通过将方法分配给属性来“订阅”( OrderItemProcessed in这个案例)。 必要时,其他一些代码将调用OrderItemProcessed(someOtherItemProcessedEventArgs) ,并传递执行事件的原因的“描述符”( OrderItemProcessedEventArgs类)

您声明的委托表示任何采用通用T参数并返回void的方法。 T可以是任何类。 您还可以查看本质上也是通用的Func和Action委托。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM