我有一个属性:
public Queue<string> IncomingQueue { get; set; }
使用以下字段:
public Queue<string> _incomingQueue = new Queue<string>();
我的Transponder的完全合格的构造函数:
public Transponder(string partNumber, string description, Unit unitOfMeasure, decimal cost, decimal markup, Format encoding, string outgoingMessage, Queue<string> incomingQueue)
: base(partNumber, description, unitOfMeasure, cost, markup)
{
this.Encoding = encoding;
this.OutgoingMessage = outgoingMessage;
this.IncomingQueue = incomingQueue;
}
当我手动尝试将发送应答器添加到我的通信器列表中时,我不知道如何在add()中输入Queue incomingQueue。我如何表示incomingQueue? 这是我的add()没有队列:
inventory.Add(new Transponder(RandomTransponderPartNumber<Transponder>(), "Specific Features", Unit.each, 1000m, 125m, Format.XML, "Is anybody out there!", ));
编辑: 以下是Queue的指令:添加Queue-string属性IncomingQueue以及Queue-string类型的相应私有字段。这将从其他发送应答器接收消息。默认初始值应为空队列。
答案 0 :(得分:0)
对于调用inventory.Add()
时的最后一个参数,以下内容将使用新的空队列初始化Transponder
。
..., new Queue<string>()));
如果您需要与公共财产绑定的支持字段,通常是这样做的:
private Queue<string> _incomingQueue = new Queue<string>();
public Queue<string> IncomingQueue
{
get { return _incomingQueue; }
set { _incomingQueue = value; }
}
但请注意,如果IncomingQueue
属性始终为空,那么您可以省略最后一个构造函数参数以及相应的{{1}在构造函数内部;私有后备属性this.IncomingQueue = incomingQueue;
将确保它始终以空_incomingQueue
实例开始。
答案 1 :(得分:0)
IncomingQueue
获得了编译器创建的支持字段 - public Queue<string> _incomingQueue = new Queue<string>();
Transponder
类 inventory.Add(new Transponder(RandomTransponderPartNumber<Transponder>(), "Specific Features", Unit.each, 1000m, 125m, Format.XML, "Is anybody out there!", new Queue<string>()));