# V3117. Constructor parameter is not used.

Анализатор обнаружил, что один из параметров конструктора не используется.

Рассмотрим пример.

    public class MyClass
    {
      protected string _logPath;
      public String LogPath { get { return _logPath; } }

      public MyClass(String logPath) // <=
      {
        _logPath = LogPath;
      }
    }

В данном случае программист скорее всего опечатался, написав 'LogPath' вместо 'logPath', в результате чего параметр конструктора нигде не используется. Корректный код должен выглядеть так:

    public class MyClass
    {
      protected string _logPath;
      public String LogPath { get { return _logPath; } }

      public MyClass(String logPath) // <=
      {
        _logPath = logPath;
      }
    }

Рассмотрим ещё один пример.

    public class MyClass
    {
      public MyClass(String logPath) // <=
      {
        //_logPath = logPath;
      }
    }

В случае, если программист умышленно не использует параметр конструктора, мы предлагаем пометить конструктор атрибутом 'Obsolete'.

    public class MyClass
    {
      [Obsolete]
      public MyClass(String logPath) // <=
      {
        //_logPath = logPath;
      }
    }

Взгляните на примеры ошибок, обнаруженных с помощью диагностики V3117.