我们可以轻松做到这一点:

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);


虽然您可能需要重新考虑问题

10-06 14:49