Возникли проблемы с Intellisense при просмотре членов структуры - PullRequest
0 голосов
/ 02 апреля 2019

Я устанавливаю две очереди: одну для хранения полученных 8-байтовых значений и одну для хранения 8-байтовых значений для отправки. Отправка и получение будут происходить в отдельном потоке (или двух), который запускается в файле App.xaml.cs созданного мною решения WPF. Я хочу, чтобы очередь содержала STRUCT, описывающую эти 8-байтовые значения.

Я действительно не думал, что эта вещь STRUCT будет иметь большое значение. Я всегда использовал STRUCT в C-коде. Но по какой-то причине определение STRUCT, кажется, работает (никаких жалоб от VS 17), и экземпляр STRUCT работает, но инициализация полей STRUCT не распознается. ???? см. пример кода ниже.

Я пробовал:

// define the structures
public struct ReceiveStruct {
  byte[] deviceName;
  byte functionCode;
  byte MSBbyte;
  byte LSBbyte;
}
public struct SendStruct {
  byte[] deviceName;
  byte functionCode;
  byte MSBbyte;
  byte LSBbyte;
}

// instantiate the two structures that I want
public ReceiveStruct receiveStruct;
public SendStruct sendStruct;

// initialize the structure fields
receiveStruct.deviceName = 'abcde';    // HERE IS WHERE THE PROBLEM LIES
                                       // Intellisense does not recognize
                                       // these fields???  It does not
                                       // list "deviceName" for example 
                                       // after
                                       // the "dot" after 
                                       // "receiveStruct".
                                       // receiveStruct.functionCode = 3;
.
.
.

// instantiate the queues
Queue receiveQueue = new Queue();
queue sendQueue = new Queue();

// populate the queues
receiveQueue.Enqueue(receiveStruct);
sendQueue.Enqueue(sendStruct);
.
.
.

Я подумал, что впервые инициализирую поля структуры, чтобы не нарушать правила "по значению" для структур, а затем с радостью изменю эти поля по мере выполнения моего кода и загрузлю очереди, чтобы их можно было обрабатывать в другом месте как FIFO, на самом деле подпитывающий другой СПИСОК, чтобы затем действовать и регистрироваться. Ничего страшного.

Но я не могу пройти сквозь тупую инициализацию структуры !!!!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...