【发布时间】:2017-10-10 21:02:16
【问题描述】:
在 Visual Studio (Community 2017) 中编写 C# 时,当我有两个名称相似的标识符(一个以大写字母开头,一个以小写字母开头)时,有时我开始输入小写它会自动完成大写标识符。
这通常发生在我将小写参数分配给大写字段/属性时,例如:
当我开始输入my... 时,它匹配小写的myValue,直到我输入v,此时它开始匹配大写的MyValue。显然我不想要这个,因为那样我最终会得到MyValue = MyValue!有没有什么方法可以让它根据 仅第一个字母 的大小写而不是它现在正在做的任何事情来解决大小写歧义?如果我开始输入小写字母,那么我希望它在我输入更多字符时继续匹配以小写字母开头的标识符。
编辑:这是一个匹配类型而不是变量的示例。我输入了完整的参数名称,大小写正确,它仍然匹配类型而不是变量:
【问题讨论】:
-
根据 C# 编码标准,字段无论如何都应命名为小写。那么你的代码就会变成
this.myValue = myValue。 -
你在开玩笑吗?两个标识符不同仅以防万一?这不是一个明智的选择。
-
不管是字段还是属性都无所谓。这只是一个玩具示例;如果它是一个属性,也会发生同样的行为。
-
史蒂夫:你建议我改成
myValue什么名字?我可以在 .NET 参考源中找到更糟糕的示例:referencesource.microsoft.com/#System.Drawing/commonui/System/… -
@Steve 这是一个常见的约定(例如对于字段和属性),虽然我个人不喜欢也不使用它 - 这一点也不奇怪。
标签: c# visual-studio autocomplete intellisense