返回只读并发列表

时间:2013-01-15 22:10:36

标签: c# .net

我想知道,假设我有一个封装在像这样的对象中的ConcurrentBag

class Package
{
   private ConcurrentBag<string> myList;
   public string title {get; private set;}
   public string description {get; private set;}

   public Package(string title,string description)
   {
       myList = new ConcurrentBag<string>();
       this.title = title;
       this.description = description;
   }


   public override string ToString()
   {
       return title + " " + description;
   }
}

我如何返回ConcurrentBag的只读版本?

2 个答案:

答案 0 :(得分:0)

由于您正在寻找仅提供Count属性的IReadOnlyCollection附近的功能,我会将其公开为IEnumerable<string>并依赖LINQ扩展来查询它。

答案 1 :(得分:0)

为什么不归还克隆?我知道这不理想,否则你将不得不自己定制ConcurentBagReadOnly。