Make RtdTopic's Value, UpdateValue and UpdateNotify virtual?
It would be very useful to attach custom logic to these calls.
@fandrei These are quite delicate parts of the ExcelRtdServer mechanism. It might be better to implement your own RTD server if you want to change the behaviour a lot. Could you explain how you would use such overrides?
@govert My goal was to attach some custom logic to the calls of those methods/setters. I don't see how it could break anything, but if you think that it could, then adding change events would be a good alternative to virtual methods.
@fandrei I think making these members and their subtle semantics virtual seems a bit too dangerous to me. But you can already use a derived class from Topic that you extend with other methods, e.g. UpdateValueEx that internally calls UpdateValue, or even do public new void UpdateValue(...) to re-use the name in your derived class. I expect your add-in will be the only part interacting with the RTD server, so maybe that's OK.
Otherwise, you might also use the IObservable interface and the Rx library instead of making the RTD server directly. That way you have easy ways to implement and extend the update pipeline.
So I'm not keen to make the methods virtual, but I'm happy to try to understand how best to solve whatever limitation you're running into.
That's what I currently do, but I thought that including this functionality into the base class would be less ugly.