Intellisense看到结构成员时遇到麻烦

时间:2019-04-02 16:29:25

标签: c# struct

我正在设置两个队列,一个队列用于保存接收的8字节值,另一个队列用于保存要发送的8字节值。发送和接收将在一个单独的线程(或两个线程)中进行,该线程在我创建的WPF解决方案的App.xaml.cs文件中启动。我希望队列包含描述这些8字节值的STRUCT。

我真的不认为这件事很重要。我一直在C代码中永远使用STRUCT。但是由于某种原因,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);
.
.
.

我认为我将首次初始化struct字段,以不违反struct的“按值”规则,然后随着代码的进行而愉快地更改这些字段并加载队列,以便将其作为其他地方处理FIFO,实际上馈入其他LIST,然后将其作用并记录下来。没什么。

但是我无法克服愚蠢的struct初始化!!!!

0 个答案:

没有答案