0
我需要使用阻塞集合,以便我可以异步调用委托。不幸的是,委托有两个参数,包括一个结构和一个额外的字符串。使用该结构是因为它是通过Interop调用外部c函数的结果。
现在我正在寻找一种避免在使用阻塞集合时复制结构的方法。
目前我的代码看起来是这样的:C#结构和指针
ConsumerQueue.Enqueue(new StructTransfer(structValue, stringValue));
消费者解压然后StructTransfer。
的StructTransfer目前看起来像这样
public struct Transfer{
public StructValue structValue;
public string stringValue;
public Transfer(StructValue structValue, string stringValue){
this.structValue=structValue;
this.stringValue = stringValue;
}
}
是否与指针一个简单的方法,以避免在构造函数中复制报表,这样我就可以方便地使用阻塞集合?
为什么要使用结构而不是类?一个类自动使用指针。 – Destrictor
您的队列将由该结构类型的*值*组成。没有复制,这怎么可能工作? (你有没有考虑过使用一个班级?无论哪种方式,*请*沟公共领域...) –
什么复制报表? – Jodrell