簡體   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