Можно ли ссылаться на «this» в конструкторе?

В C # я обычно использую шаблон для заполнения деталей более низкого класса вычислений с помощью объекта формы.

Конструктор MyForm:

MyForm()
{
   _MyFormCalcs = new MyFormCalcs(this);
}

Но сегодня я столкнулся с ошибкой, которая заставляет меня думать, что, поскольку мой конструктор не завершил работу, он создает новый экземпляр MyForm для передачи в MyData. Таким образом, он дважды вызывает конструктор. Я обнаружил, что статический список в MyFormCalcs заполнялся дважды и не работал во второй раз, поскольку ключи уже присутствовали в списке.

Могу ли я использовать это в конструкторе для ссылки на этот экземпляр? Что он будет содержать в нижнем классе - запущен конструктор или нет.

Как лучше передать мою форму в нижний класс?

6
задан Cody Gray 23 February 2011 в 07:16
поделиться