Я немного застрял с небольшой проблемой:
Я использую последовательный порт связи - все мои функции для комм. завернуты в мой собственный класс serialport.
Экземпляры этого класса должны использоваться только в
using(Serport port = new Serport(...)){}
, чтобы убедиться, что Dispose () вызывается после операции.
Теперь это не проблема с одноразовыми вызовами, но я не могу придумать, как это сделать:
У меня есть функция, которая должна вызываться через цикл while для постоянного обновления через comport до тех пор, пока пользователь не прервет (функция предназначена для сброса самого таймера каждый раз, когда он вызывается, и времени ожидания, когда он больше не вызывается).
Теперь эта операция довольно критична по времени и не может открывать и закрывать последовательный порт при каждом вызове. Таким образом, использование шаблона использования изнутри этой функции не сработает (или так?)
Единственный способ реализовать это, о котором я могу подумать, - это поместить using () {} в цикл while - я бы хотел этого избежать, хотя, поскольку он перепутал бы мой код, который явно построен каким-то образом, это компортирует доступ обрабатывается на низком уровне, а для реального приложения доступны только простые функции, которые выполняют всю работу ...
Ребята, вы видите какую-нибудь альтернативу? Есть ли способ прекратить использование шаблона вручную? Простой вызов Dispose () вручную в моем тайм-ауте не сработает, так как он не будет вызван, если я получу исключение - и я должен быть уверен, что Dispose () вызывается, поэтому последовательный порт остается управляемым ...
Спасибо за вашу помощь !!