Проблема в том, что вы заставили Demo
возвращать новый экземпляр Subject<string>
каждый раз, когда он используется.
Demo
экземпляр, на который вы тоже подписались, - это не тот экземпляр, который вы назвали OnNext()
вкл.
class1.Demo.Subscribe(...); // makes new instance `Subject<string>`
class1.Demo.OnNext("Hello"); // makes another new instance of `Subject<string>`
Сохраните тот же экземпляр, и он будет работать. Например:
public class InstrumentModel
{
public Subject<string> Demo = new Subject<string>();
}
или:
public class InstrumentModel
{
public InstrumentModel()
{
this.Demo = new Subject<string>();
}
public Subject<string> Demo { get; }
}