【发布时间】:2018-03-26 22:11:41
【问题描述】:
我有以下代表
System.Action<SomeMessage> TheDelegate;
其中有几个订阅者,但是当消息通过所有订阅者时,每个订阅者都会对其执行某些操作,并且该更改会持续存在并传递给下一个订阅者,这是我不想要的。
有没有办法可以将原始消息用作所有订阅者的参数?
编辑: SomeMessage 是一个类,因此它通过订阅者通过引用传递
【问题讨论】:
-
什么是
SomeMessage?是结构体吗? -
它是一个类,所以参数作为引用传递
-
由于类是通过引用传递的,因此您只需要一条原始消息。我认为这已经是您描述的必需行为。
-
对不起,我的表情真的很糟糕。所以我想使用原始消息,但我不希望订阅者引起的任何更改持续存在。
标签: c# delegates pass-by-reference