订阅作为最后一个方法提出

ie1*_*ie1 3 c# system.reactive

有没有办法订阅一个方法,虽然它会在引发onNext时被调用?

m_subject.Subscribe(() => Console.writeLine("firstSubscription");
m_subject.SubscribeLast(() => Console.writeLine("secondSubscription");
m_subject.Subscribe(() => Console.writeLine("thirdSubscription");

m_subject.OnNext();

// prints:
// firstSubscription
// thirdSubscription
// secondSubscription
Run Code Online (Sandbox Code Playgroud)

Fal*_*nwe 5

您不能让订户最后执行,但您可以将所有呼叫包装在一个订阅中.

像这样的东西:

Action action = () => {};
Action lastAction = () => {};

m_subject.Subscribe(() => 
{
    action();
    lastAction();
});

action += (() => Console.writeLine("firstSubscription");
lastAction += (() => Console.writeLine("secondSubscription");
action += (() => Console.writeLine("thirdSubscription");

m_subject.OnNext();

// prints:
// firstSubscription
// thirdSubscription
// secondSubscription
Run Code Online (Sandbox Code Playgroud)