骑士为何将Dictionary.Add视为读取访问权限?

时间:2019-05-07 19:15:44

标签: c# dictionary rider

我有一个私人词典,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;

0 个答案:

没有答案