我正在阅读一篇关于在复合视频上开发可扩展软件的课程,在其中一张幻灯片中,这个代码出现了。到目前为止,我对代表的理解是,它用于指出其他方法,但我无法弄清楚代表的目的是什么,以及是否有人可以指出我正确的方向。
答案 0 :(得分:1)
正如那里写的那样,它并不是非常有用......他们可以使用Action<OrderItemProcessedEventArgs>
,它本来就是等价的。 (Action<>
是不返回任何内容的方法的通用委托。它的官方描述类似于封装一个具有单个参数且不返回值的方法。)
写入的委托(以及Action<OrderItemProcessedEventArgs>
)表示返回void
的方法(因此不会返回任何内容)并且接受单个OrderItemProcessedEventArgs
参数。例如:
public void MyMethod(OrderItemProcessedEventArgs arg)
{
}
将是与该委托兼容的方法。
现在......大块代码创建了一个CommerceEvents
,它似乎是一个事件的容器(不是C# - event
,直接委托),有些代码可以& #34;订阅&#34;通过为属性分配方法(在这种情况下为OrderItemProcessed
)。必要时,其他一些代码将调用OrderItemProcessed(someOtherItemProcessedEventArgs)
,传递一个&#34;描述符&#34;为什么&#34;事件&#34;已执行(OrderItemProcessedEventArgs
类)
答案 1 :(得分:-2)
您声明的委托表示采用泛型T参数并返回void的任何方法。 T可以是任何类。您还可以查看Func和Action委托,它们本质上也是通用的。