我有一个私人词典,Rider(2019.1版)建议:“字段可以设为只读”,但是我使用Add方法填充了它。另外,如果我“查找用法”,Rider会在“读取访问权限”下而不是在“写入访问权限”下列出“添加”调用。如果我使用方括号而不是“添加”来添加到“字典”中,则它会以相同的方式对待它(与“读取访问权”一样)。
如果在词典的定义中添加“ readonly”关键字,则建议消失,但是我仍然可以添加到词典中。
所以我想我的问题确实是,为什么Dictionary.Add被认为是Read Access?
我确实知道,如果我将Dictionary设置为只读,那么我将无法直接修改字典,例如将其设置为null。但是,不确定我是否理解为什么将其设置为只读仍然允许您对其进行添加。
谢谢!
private Dictionary<string,string> myDict = new Dictionary<string,string>();
vs
private readonly Dictionary<string,string> myDict = new Dictionary<string,string>();
// Not considered Write Access:
myDict.Add("not","write");
myDict["NotWrite"] = "not a write";
// Considered Write Access:
myDict = null;