我有一个主题,我订阅的方法应该在游戏中发生确定事件时调用。计算主题的所有订阅
public Subject<SomeEvent> TestSubject = new Subject<SomeEvent>();
某些实例订阅该主题。
TestSubject.Subscribe(MyMethod);
我的目标是计算已订阅该主题的方法数。我见过一些使用Count()扩展的例子,但是我需要一个int作为返回值,所以我可以在其他地方使用它,而Count()返回一个IObservable。
if (subjectCount > 0)
{
DoSomething();
}
有没有什么办法让一个主题订阅的数量还是需要手动跟踪它们(具有公众诠释SubjectSubcriptions并添加1次每次我订阅的方法)?
看起来像一个很好和干净的解决方案,在接受这个答案之前会等待一些其他解决方案。谢谢 ! – Snak
这不是一个坏的解决方案,但'Subject'是一次性的,所以这个实现也应该是'IDisposable>',它应该支持处理至少创建的主题。 –
Enigmativity
@Enigmativity好点。我更新了代码。 – CharlesNRice