V3143. The 'value' parameter is rewritten inside a property setter, and is not used after that.
Анализатор обнаружил присвоение некоторого значения параметру 'value' внутри setter'а свойства. При этом, после этого присвоения параметр 'value' больше не использовался в теле этого setter'а, что возможно свидетельствует об ошибке или опечатке.
Рассмотрим пример из реального проекта:
public LoggingOptions Options
{
get { return m_loggingOptions; }
set { value = m_loggingOptions; }
}
Здесь значение параметра 'value' перезаписывается сразу после входа в setter метод свойства. При этом изначальное значение параметра 'value' будет потеряно. Возможно, что разработчик опечатался и перепутал 'value' и 'm_loggingOptions' местами. Если же разработчик не хотел давать возможность записи в это свойство, то его можно было бы объявить с private set методом или вообще не объявлять setter.
Исправленный вариант может выглядеть так:
public LoggingOptions Options
{
get { return m_loggingOptions; }
set { m_loggingOptions = value; }
}
Взгляните на примеры ошибок, обнаруженных с помощью диагностики V3143. |