您好,我正在尝试创建一个适用于流数据的应用程序...(所以没有结尾..Complete .... etc)
由于其性质,因为流式数据受到很多操纵,所以我使用BlockingCollection,它工作得非常好...
我在SO上遵循了出色的here帖子,并且一切正常,都可以正常工作....但令我感到困惑的是,我不能简单地从一个类中返回BlockingCollection来提供输入
像这样的东西:
class A
{
public BlockingCollection<SomeThing> getBlockingC()
{
.......some code here ........
return myBlockingCollection;
}
}
而在classB上
class B
{
private void consume()
{
A produce = new A();
var ToConsume = produce.getBlockingC();
}
可能我缺少了一些东西,但是我可以对此进行一些澄清,这将是最有帮助的
最佳答案
好吧,因为我没有解决方案,所以我只是想一想就得到了解决方案...您只是将BlockingCollection实现为一个属性
class A
{
private static BlockingCollection<> _ABlockingCollection= new BlockingCollection<>();
public BlockingCollection<> A_BlockingCollection
{
get {
return _ABlockingCollection;
}
------ Code that Adds elements to the BlockingCollection ------
A_BlockingCollection.Add(ObjectsForStoring);
---------------------------------------------------
}
class B
{
public B()
{
A produce = new A();
}
public void Consume()
{
--- Code that consumes a Blocking Collection ------
foreach (var ObjectStored in A.A_BlockingCollection.GetConsumingEnumerable())
**** Consume *****
}
}