I'm trying to figure out what is the best approach to pass event from low level project to UI layer, for example - UI references project A, project A references project B etc.
When some edge case happens on project B I want to show a warning on the UI (not to throw exception and not to return any value).
So I thought events could be a solution.
I have to handle the event at the UI level, but to raise it from project B. The UI can't subscribe to project B's event handler because it doesn't reference it, so the only options I see is pass the event all around (from UI to project A, from A to B etc.) or use a static event.
What is the optimal and cleanest way to achieve this?