我有一个如下的字典:
public enum Role { Role1, Role2, Role3, }
public enum Action { Action1, Action2, Action3, }
var dictionary = new Dictionary<Role, List<Action>>();
dictionary.Add(RoleType.Role1, new Action [] { Action.Action1, Action.Action2 }.ToList());
现在我想要构建一个只读字典,其值类型也是只读的,如下所示:
var readOnlyDictionary = new ReadOnlyDictionary<Role, ReadOnlyCollection<Action>>(dictionary);
显然,由于TValue类型的差异,最后一行会导致编译时错误。
使用 List<TValue>
也是必需的,因为原始字典是从外部源进行程序化填充的。
有没有一种简单的方法来执行此转换?
new List<int> { 1, 2, 3 }
有什么问题吗? - Matías Fidemraizer