Выполните конструктор порожденного класса перед основным конструктором в C#

На самом деле, удалить внутренний HTML с помощью jQuery так же просто, как:

$("#status").empty();

Посетите эту ссылку для получения дополнительной информации: https://api.jquery.com/empty/ [111 ]

16
задан James 9 April 2009 в 17:22
поделиться

3 ответа

То, что вы пытаетесь сделать, невозможно в C #. Конструктор в базовом классе должен быть запущен до конструктора любого производного класса, в противном случае существует вероятность повреждения состояния объекта. Дочерний объект должен иметь возможность предполагать, что его база полностью построена и доступна.

18
ответ дан 30 November 2019 в 16:36
поделиться

ИМХО, твой дизайн неправильный. Вы не должны запускать процесс из конструктора. Ваш потребляющий код должен явно вызывать метод Start () при необходимости.

19
ответ дан 30 November 2019 в 16:36
поделиться

Running this through a message queue is definitely the way to go if you're thinking about long-term scaling. Send a message to the queue who's running constantly in the background, and write job handlers to deal with the different sorts of messages.

Since you're using Django, I think Beanstalkd is a pretty good fit. Here's a pretty nice tutorial on the subject. The first comment in that article also has some good tips.

Personally I've rolled with a custom in-memory queue server written in Erlang, with Python-bindings written in C. But redis looks like it might work out as a great contender for future queuing/messaging-needs. Hope this helps!

--121 --- 1226173--

Я бы переработал ваш дизайн так, чтобы Initialize (и, возможно, Start () - хотя обычно я бы использовал этот публичный метод, вызываемый пользователем), вызывался после конструирования.

Если вы делаете BarcodeScanner, вы можете сделать это при первом запуске сканирования. Просто лениво инициализируйте своих участников, используя данные из производного класса.

Это обойдет вашу проблему, без реальных изменений в использовании пользователем.

1
ответ дан 30 November 2019 в 16:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: