Иногда это может привести к путанице чтения кода в члены экземпляра, который относится к другим членам экземпляра одного и того же класса (или базовый класс):В C# существует ли способ принудительного использования квалификации «эта/базовая» в членах экземпляра?
public void MyMethod()
{
Where = did + AllTheseWeirdThings(GetDeclared()); // ?
}
Имея стандарт кодирования что-то вроде «префикс все частные/защищенные члены с «_» не помогает, потому что члены экземпляра могут по-прежнему относятся к публичным членам
было бы гораздо лучше, чтобы прочитать это:.
public void MyMethod()
{
this.Where = this.did + base.AllTheseWeirdThings(this.GetDeclared()); // ?
}
есть ли способ обеспечить это, либо с компилятором Optio ns, StyleCop или что-то подобное?
Я использовал это, но в конце концов я нашел его менее полезным, чем создаваемый шум. – ChaosPandion
Я включил это предупреждение ReSharper и нашел его невероятно раздражающим. Оказывается, редко бывает путать членов класса с местными жителями, а 'this.' /' base.' обычно избыточно. –
Stylecop имеет правило для префикса 'this', но не для базы. И это также ** на ** по умолчанию. –