簡體   English   中英

在 C# 多播委托中使用多播

[英]Use of multicast in C# multicast delegates

多播委托優於單播委托什么時候有用?

我經常使用委托,主要是與 C# lambdas 結合使用,但我從未有過使用 C# 委托的多播方面的沖動,即我從未想過將多個委托組合在一個委托中。 因此,我很好奇多播委托在哪種情況下有用——我只能想到一些示例,在這些示例中,您可以通過其他方式輕松實現該功能,例如鏈接委托或將它們放入列表中。

特別是,Eric Lippert 回答給人的印象是即使 C# 團隊有時也會忘記代表的多播性。

事件是使用 MulticastDelegates 的主要示例。 所以,可能沒有意識到,你每天都在使用它們。

任何充當事件的東西都是這里的經典答案——然后調用者不需要知道誰在聽(只要調用它,如果它是非空的)。 這是理想的,因為多個操作可以同時訂閱 - 例如 3 個單獨的控件觀察(數據綁定)到視圖模型上的相同屬性。

代表充當 function (特別是帶有返回值)的任何情況都是棘手的,因為您需要考慮如何處理 - 采取第一個? 最后的? 總計的?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM