Некоторое время назад я задал здесь вопрос о том, как запустить приложение как поток в пространстве памяти другого приложения, а не как новый процесс: Выполнение программы как потока, а не как процесса
В качестве дополнения к этому вопросу, я думаю, у меня есть теория о том, как я могу это сделать, чтобы достичь того, что я пытаюсь сделать. Во-первых, позвольте мне сказать, что причина, по которой я это делаю, заключается в том, что я пытаюсь создать тестовое приложение, которое может «тестировать» другие приложения, но контролировать их, поэтому, если они получают исключение, мое тестовое приложение может завершить поток. и перезапустите его автоматически.
Моя теория о том, как это сделать, состоит в том, чтобы создать интерфейс, называемый, например, ITestBed, и реализовать его в основном классе моего приложения. Реализация будет содержать один метод, например, TestApp(). Все, что мне нужно сделать из моего тестового приложения, это вызвать этот метод, и этот метод на стороне приложения может просто отражать конструктор моего текущего объекта? Будет ли это работать?
По сути, я пытаюсь имитировать работу Visual Studio. Если вы установили точку останова в своей программе, нажмите, чтобы запустить приложение в Visual Studio, ваше приложение запускается как дочерний элемент приложения Visual Studio. Чтобы проверить это, вы можете завершить приложение Visual Studio, и ваше приложение также завершится. Как я могу этого добиться?