В форме основного окна у меня есть кое-что по TCP / IP.Сейчас я занимаюсь рефакторингом, поэтому все в отдельных классах.Я выделил эти функции (теперь TCP обрабатывается классом Communicator), но я только что заметил, что
this.Invoke(PDDelegate, new Object[] { tempstr });
эта часть зависит от некоторой инфраструктуры в классе Form.Это то, что настраивает делегата для обработки данных, которые поступают по каналу TCP.
Я испытываю желание передать ссылку на главное окно, когда я вызываю Communicator.Connect, поэтому я могу сделать
window.Invoke(PDDelegate, new Object[] { tempstr });
Но мне это кажется просто хаком.Мне интересно, стоит ли мне беспокоиться об этом и выяснить, как дать этому объекту возможность обрабатывать свои собственные потоки или просто передать указатель.