Вы должны создать событие и запустить его после обработки данных в событии Serial Data Received.При необходимости вы можете передать данные с пользовательскими аргументами событий.
Это код для вашей DLL:
public delegate void dllFinishedHandler(object sender, object tag);
public event dllFinishedHandler DllFinished;
protected virtual void OnDllFinished(object e)
{
if (DllFinished!= null)
DllFinished(this, e);
}
после реализации кода вы должны установить обработчик событий в своем приложении.
Приведенный ниже код передает объект в приложение.Вы можете использовать SerialDataReceivedEventArgs или ваш собственный обработчик событий, также он может выглядеть следующим образом:
public delegate void dllFinishedHandler(object sender, SerialDataReceivedEventArgs eventArgs);
public event dllFinishedHandler DllFinished;
protected virtual void OnDllFinished(SerialDataReceivedEventArgs e)
{
if (DllFinished!= null)
DllFinished(this, e);
}
наследовать от EventArgs и использовать его в приведенном ниже коде вместо SerialDataReceivedEventArgs:
public class DllEventArgs : EventArgs
{
private byte[] buffer;
public byte[] Buffer
{
get
{
return buffer;
}
}
public DllEventArgs(byte[] buff)
{
buffer = buff;
}
}
тогда ваше приложение может достичь буфера (я думаю, его байта [] непосредственно из события).