繁体   English   中英

有没有一种方法可以简单地返回BlockingCollection

[英]Is there a way to simply return a BlockingCollection

您好,我正在尝试创建一个适用于流数据的应用程序...(所以没有Ending..Complete .... etc)
由于其性质,因为流式数据得到了很多操纵,所以我使用BlockingCollection,它的效果非常好...
我在这里关注了SO上的精彩文章,并且一切都能正常进行....但是令我感到困惑的是,我不能简单地从一个类中返回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 *****

}
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM