Итак, вы начинаете с создания класса, который реализует интерфейс, например:
public class MyClass : IStream
{
public event StreamingDataArriveEventDelegate StreamingDataArrive;
public event StreamingStateChangeEventDelegate StreamingStateChange;
public void addAnalogPort(int portId)
{
throw new NotImplementedException();
}
public ISensorSource getSensorSource(int portId)
{
throw new NotImplementedException();
}
public void Start()
{
throw new NotImplementedException();
}
public void Stop()
{
throw new NotImplementedException();
}
public void Close()
{
throw new NotImplementedException();
}
}
Замените все throw new NotImplementedException();
на соответствующий код.
Это по-прежнему не имеет большого отношения к событиям,Я полагаю, вам также нужно знать, как вызвать событие.
Если вы наберете MyClass
, когда вам нужно уведомить пользователя о поступлении данных, вы запускаете событие SteamingDataArrive
, например:
if (StreamingDataArrive != null)
StreamingDataArrive(this, new StreamingDataEventArgs("data"));
или какова ваша подпись делегата.
Чтобы прослушать одно и то же событие, вы подписываете событие на обработчик
MyClass myClass = new MyClass();
myClass.StreamingDataArrive += new StreamingDataArriveEventDelegate(myClass_StreamingDataArrive);
и создаете обработчик
void myClass_StreamingDataArrive(object Sender, StreamingDataEventArgs eventArgs)
{
throw new NotImplementedException();
}
вам может потребоваться изменить StreamingDataEventArgs
для соответствия вашей подписи делегата.