我有一个字符串数组的列表,我想使这两个集合都是只读的。IList <IList<T>>到IReadonlyCollection <IReadonlyCollection <T>>
所以我有这样的代码:
public XmlPatternTree(IList<string> nodeNames, IList<IList<string>> attributeNames,
IList<IList<string>> attributeValues) : this()
{
NodeNames = new ReadOnlyCollection<string>(nodeNames);
AttributeNames = new ReadOnlyCollection<ReadOnlyCollection<string>>();
AttributeValues = attributeValues;
Depth = NodeNames.Count;
}
我的问题是,AttributeNames和AttributeValues分配导致编译错误,看来我可以从非只读的非只读集合创建ReadonlyCollection的ReadonlyCollection对象。
除了循环遍历所有的值并将它们添加到列表中,我还能做些什么吗?
感谢