# 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.