我们可以轻松做到这一点:
List<Value> list;
IReadOnlyList<IValue> List => list;
但是,我们如何使用IReadOnlyDictionary做同样的事情?
Dictionary<Key, Value> dict;
IReadOnlyDictionary<Key, IValue> Dict => dic; //impossible
最佳答案
您不能,但是可以分配和重新哈希为代价,可以对其进行投影
IReadOnlyDictionary<string, IValue> Dict
=> dict.ToDictionary(x => x.Key, x => (IValue)x.Value);
虽然您可能需要重新考虑问题