C# 为什么在IntelliSense中名为DefaultStringValue的属性总是首先出现?
如果定义以下类:C# 为什么在IntelliSense中名为DefaultStringValue的属性总是首先出现?,c#,visual-studio-2017,resharper,intellisense,C#,Visual Studio 2017,Resharper,Intellisense,如果定义以下类: public class Test { public string Something { get; set; } public string AnotherThing { get; set; } public string DefaultStringValue { get; set; } } 然后,当您使用IntelliSense列出属性时,DefaultStringValue将首先显示在列表中,尽管它不是按字母顺序排列的: 如果将属性名称
public class Test
{
public string Something { get; set; }
public string AnotherThing { get; set; }
public string DefaultStringValue { get; set; }
}
然后,当您使用IntelliSense列出属性时,DefaultStringValue
将首先显示在列表中,尽管它不是按字母顺序排列的:
如果将属性名称更改为其他名称,将恢复正常服务:
有人知道这是为什么吗?我很好奇
(注意:我也在使用Resharper Ultimate 2018.1.2)这是IntelliSense(和/或Resharper)作为智能体,试图帮助您重新使用以前使用过的东西。如果你从头开始,你会发现事情是按字母顺序排列的:
我敢打赌,在过去的某个时候,您使用了DefaultStringValue
属性,而不是其他属性,因此它首先建议:
重命名后,如果输入行t.DefaultStringValu=“x”
,然后再次删除它,下次输入t.
并调用IntelliSense时,DefaultStringValu
现在将位于列表的顶部:
您正在使用Resharper吗?是的,我正在使用。可能应该在问题中提到这一点。Resharper Ultimate 2018.1.2.请注意,在您的问题中加入信息永远都不会太迟…Doh。是的,你当然是对的。我相信过去我一直在无意识地依赖这种行为,现在我想起来了。