Ho un MDI MyMDIWinForm che ha bisogno di un'istanza di IGUIErrorHanlder per la gestione degli errori, Allo stesso tempo IGUIErrorHanlder dipende dalla MDI MyMDIWinForm per avere un posto dove lanciare pop-up e altre cose.
public class MyMDIWinForm
{
readonly IGUIErrorHanlder GUIErrorHandler;
public MyMDIWinForm(IGUIErrorHanlder guiErrorHandler)
{
GUIErrorHandler=guiErrorHandler;
}
public void DumbMethod()
{
try
{
//dumb code
}
catch(Exception e)
{
GUIErrorHandler.OnError(e.Message);
}
}
}
public FormGUIErrorHanlder:IGUIErrorHanlder
{
readonly Form Parent;
public FormGUIErrorHanlder(Form form)
{
//this form should be the MDI form
Parent=form;
}
public OnError(string message)
{
Parent.ShowDialog(new PopUpForm(message));
}
}
Voglio che MyMDIWinForm abbia un'istanza di FormGUIErrorHanlder e che FormGUIErrorHanlder abbia la stessa istanza di MyMDIWinForm
Come faccio a rimuovere la dipendenza circolare?
Grazie mille