所以我有一个游戏服务器,每个玩家都有一个计时器,例如:

this.player.Timer = from tick in TimerPublisher where tick % 1 == 0 select tick;


我有一些订阅的方法,例如:

this.player.Timer.Subscribe( tick => IncreseStamina() );
this.player.Timer.Subscribe( tick => IncresePower() );
//etc


所以我想做的就是设定

IDisposable dis = //the subscribed method;


所以我可以说

dis.Dispose(); //so it Dispose that method


我想一次性处置所有订阅的方法,我可以这样做吗?

最佳答案

尝试这个:

IDisposable dis = new CompositeDisposable(new []
{
    this.player.Timer.Subscribe(tick => IncreseStamina()),
    this.player.Timer.Subscribe(tick => IncresePower()),
    //etc
});


然后您可以编写:

dis.Dispose();


容易吧?

关于c# - ConnectableObservable一次处理所有订阅的方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7423612/

10-11 04:46