Я часто сталкивался с этим настолько, что думал, что увижу, что другие говорили об этом.
Используя соглашения StyleCop, я обнаруживаю, что у меня часто есть имя свойства, которое трудно отличить от имени класса, к которому он обращается. Например:
public class ProjectManager
{
// Stuff here
}
public class OtherClass
{
private ProjectManager ProjectManager { get; set; }
}
Он компилируется и запускается, но похоже, что это был бы простой способ запутать вещи, даже с использованием "this".