您将如何实现不可变的构造函数Dictionary<TKey, TValue>
- 像类?
另外,是否可以允许用户使用以下语法:
ImmutableDic<int, int> Instance = new ImmutableDic<int, int> { {1, 2}, {2, 4}, {3,1} };
最简单的解决方案是编写一个接受可变的构造函数IDictionary<TKey, TValue>
。构建可变字典并将其传递给不可变字典的构造函数:
var data = new Dictionary<int, int> { {1, 2}, {2, 4}, {3,1} };
var instance = new ImmutableDic<int, int>(data);
正如 BoltClock 的评论中所解释的,初始化语法不能与不可变字典一起使用,因为它需要一个Add
method.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)