私はリアクティブライブラリを使用しています。バイトを観察し、取得したら公開します。すべてのバイトを収集するために待機する必要がある場所を見つけることができません。そしてそれらを処理します。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
obj.SignatureAvailable.ObserveOn(SynchronizationContext.Current).Subscribe(HandlePinsAvailable);
}
void HandlePinsAvailable(byte[] signBytes)
{
//here I will collect byte blocks.
//MessageBox.Show(Encoding.ASCII.GetString(signBytes));
}
}
public class SignatureListener
{
private Subject<byte[]> SignaturesAvailable = new Subject<byte[]>();
public IObservable<byte[]> SignatureAvailable { get { return SignaturesAvailable.AsObservable(); } }
private IDisposable SignatureSubscription;
public SignatureListener()
{
SignatureSubscription = HidUtility.Messages.Subscribe(HandlePinMessageBytes);
}
public void HandlePinMessageBytes(byte[] signatureBytes)
{
SignaturesAvailable.OnNext(sobj.RawData.ToArray());
}
public class data
{
public void get data()
{
private static Subject<byte[]> subject = new Subject<byte[]>();
public static IObservable<byte[]> Messages { get { return subject.AsObservable(); } }
subject.OnNext(bytes);//I have have the actuall blocks here.
}