Анализатор обнаружил потенциальную ошибку, связанную с тем, что значение переменной присваивается само себе.
Рассмотрим пример, взятый из реального приложения:
public GridAnswerData( int questionId, int answerId, int sectionNumber, string fieldText, AnswerTypeMode typeMode) { this.QuestionId = this.QuestionId; this.AnswerId = answerId; this.FieldText = fieldText; this.TypeMode = typeMode; this.SectionNumber = sectionNumber; }
Из кода видно, что программист хотел изменить значения свойств объекта в соответствии с принятыми в методе параметрами, но ошибся и присвоил свойству 'QuestionId' вместо значения аргумента 'questionId' значение самого же свойства.
Тогда корректный код должен был бы выглядеть так:
public GridAnswerData( int questionId, int answerId, int sectionNumber, string fieldText, AnswerTypeMode typeMode) { this.QuestionId = questionId; this.AnswerId = answerId; this.FieldText = fieldText; this.TypeMode = typeMode; this.SectionNumber = sectionNumber; }
Взгляните на примеры ошибок, обнаруженных с помощью диагностики V3005. |