我想知道,假设我有一个封装在像这样的对象中的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的只读版本?
答案 0 :(得分:0)
由于您正在寻找仅提供Count
属性的IReadOnlyCollection附近的功能,我会将其公开为IEnumerable<string>
并依赖LINQ扩展来查询它。
答案 1 :(得分:0)
为什么不归还克隆?我知道这不理想,否则你将不得不自己定制ConcurentBagReadOnly。