理解委托泛型
Understanding Delegates Generics
我正在学习关于在 pluralsight 上开发可扩展软件的课程,在其中一张幻灯片中,出现了这段代码。到目前为止,我对委托的理解是它用于指向其他方法,但我无法弄清楚这里委托的目的是什么,如果有人能指出正确的方向,请。
您声明的委托代表任何采用通用 T 参数和 returns void 的方法。 T 可以是任何 class。您还可以查看本质上也是通用的 Func 和 Action 委托。
正如那里所写,它不是很有用......他们本可以使用 Action<OrderItemProcessedEventArgs>
并且它本来是等效的。 (Action<>
是不 return 任何方法的通用委托。其官方描述类似于 Encapsulates a method that has a single parameter and does not return一个值。)
所写的委托(和 Action<OrderItemProcessedEventArgs>
)表示一个方法 returns void
(所以 return 没有任何东西)并且接受一个单个 OrderItemProcessedEventArgs
参数。例如:
public void MyMethod(OrderItemProcessedEventArgs arg)
{
}
将是与该委托兼容的方法。
现在...那一大块代码创建了一个CommerceEvents
,它似乎是一个事件容器(不是C#-event
s,直接委托),一些代码可以 "subscribe" 通过将方法分配给属性(在本例中为 OrderItemProcessed
)。必要时,其他一些代码将调用 OrderItemProcessed(someOtherItemProcessedEventArgs)
,并传递 "descriptor" 说明执行 "event" 的原因(OrderItemProcessedEventArgs
class)
我正在学习关于在 pluralsight 上开发可扩展软件的课程,在其中一张幻灯片中,出现了这段代码。到目前为止,我对委托的理解是它用于指向其他方法,但我无法弄清楚这里委托的目的是什么,如果有人能指出正确的方向,请。
您声明的委托代表任何采用通用 T 参数和 returns void 的方法。 T 可以是任何 class。您还可以查看本质上也是通用的 Func 和 Action 委托。
正如那里所写,它不是很有用......他们本可以使用 Action<OrderItemProcessedEventArgs>
并且它本来是等效的。 (Action<>
是不 return 任何方法的通用委托。其官方描述类似于 Encapsulates a method that has a single parameter and does not return一个值。)
所写的委托(和 Action<OrderItemProcessedEventArgs>
)表示一个方法 returns void
(所以 return 没有任何东西)并且接受一个单个 OrderItemProcessedEventArgs
参数。例如:
public void MyMethod(OrderItemProcessedEventArgs arg)
{
}
将是与该委托兼容的方法。
现在...那一大块代码创建了一个CommerceEvents
,它似乎是一个事件容器(不是C#-event
s,直接委托),一些代码可以 "subscribe" 通过将方法分配给属性(在本例中为 OrderItemProcessed
)。必要时,其他一些代码将调用 OrderItemProcessed(someOtherItemProcessedEventArgs)
,并传递 "descriptor" 说明执行 "event" 的原因(OrderItemProcessedEventArgs
class)