这里的“DeviceInCradle”是灰色的:
private bool DeviceInCradle = false;
认为它可能是一个未使用的 var,我将其注释掉,但随后得到,“类或命名空间 'Duckbill.Platypus' 中不存在名称 'DeviceInCradle'”
我可以理解“= false”的灰色化,因为这是默认情况下的布尔值,但为什么它会以这种方式灰色化 var 的名称呢?
Resharper 希望私有字段名称是驼峰式,而不是 PascalCased。例如,这两个对于 Resharper 来说都应该是可以的:
private bool deviceInCradle = false;
或者
private bool _deviceInCradle = false;
如果您将鼠标悬停在它上面,它应该会告诉您:
Name 'DeviceInCradle' does not match rule 'InstanceField(private)'. Suggested name is '_deviceInCradle'.
换句话说,它的名称与 Resharper 的默认命名约定不匹配。
也可能是该变量未在任何地方使用。ReSharper 将使未使用的私有变量变灰。或已设置但从未引用的变量。