嗨,我有一些简单的代码,其中有一个字典的私有字段,还有一个通过get公开它的属性。
但是我仍然可以从其他类中插入到该字典中,并且想知道如何防止这种情况,因此我只能通过它所定义的类中的字段插入到字典中,而不能通过暴露它的属性插入到字典中? / p>
这是我的字段/属性代码:
private Dictionary<UnitType, Entity> _systems;
public Dictionary<UnitType, Entity> Systems => _systems;
在其他班级,我仍然可以做MyClass.Systems.Add()
,这是我想避免的。
这可能吗?
答案 0 :(得分:2)
如何?
private Dictionary<UnitType, Entity> _systems;
public IReadOnlyDictionary<UnitType, Entity> Systems => _systems;
这将仅在公共属性中公开_systems词典的只读功能。