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