Исключение StackOverflow
выдается, потому что у вас есть бесконечный цикл создания экземпляров объекта.
MainWindow
создает Utils
, который создает MainWindow
, который создает Utils
, который создает MainWindow
, которыйсоздает Utils
... и т.д.
Вы не должны создавать MainWindow
в Utils
.В приложении должен быть только один экземпляр MainWindow
.
Вместо этого укажите экземпляр MainWindow
для экземпляра Utils
в качестве параметра:
class Utils
{
readonly MainWindow mainWindow;
public Utils(MainWindow mainWindow)
{
this.mainWindow = mainWindow ?? throw new ArgumentNullException(nameof(mainWindow));
}
}
class MainWindow
{
readonly Utils utils;
public MainWindow()
{
InitilaizeComponent();
utils = new Utils(this);
}
}