Я сейчас читаю Serial Communication в Win10. Я использую этот подход:Win10 UWP C#: переменные доступа образуют другой класс/вид
https://ms-iot.github.io/content/en-US/win10/samples/SerialSample.htm
Однако я хочу теперь получить доступ к потоку SerialInput с другой точки зрения. (За исключением MainPage).
public byte[] rxbytes = new byte[06];
...
private async Task ReadAsync(CancellationToken cancellationToken)
{
Task<UInt32> loadAsyncTask;
uint ReadBufferLength = 24;
// If task cancellation was requested, comply
cancellationToken.ThrowIfCancellationRequested();
// Set InputStreamOptions to complete the asynchronous read operation when one or more bytes is available
dataReaderObject.InputStreamOptions = InputStreamOptions.Partial;
// Create a task object to wait for data on the serialPort.InputStream
loadAsyncTask = dataReaderObject.LoadAsync(ReadBufferLength).AsTask(cancellationToken);
// Launch the task and wait
UInt32 bytesRead = await loadAsyncTask;
rxbytes= new byte[bytesRead];
dataReaderObject.ReadBytes(rxbytes);
}
В основном это прекрасно работает, если я хочу написать весь код в один вид. Но мне нужно получить доступ к «rxbytes» -array для обработки входящих данных.
Один из вариантов:
this.AppFrame.Navigate(typeof(page2), rxbytes);
Это подход дает мне шесть пустых байтов на 2-й странице. Метод getter и setter также не является опцией, поскольку переменная не является статической.
Есть ли другие варианты?