![](/img/trans.png)
[英]When can BlockingCollection<T> TryTake() return false?
[英]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.