﻿# V3117\. Constructor parameter is not used\.

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

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

```cpp
public class MyClass
{
  protected string _logPath;
  public String LogPath { get { return _logPath; } }
  
  public MyClass(String logPath) // <=
  {
    _logPath = LogPath;
  }
}
```

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

```cpp
public class MyClass
{
  protected string _logPath;
  public String LogPath { get { return _logPath; } }
  
  public MyClass(String logPath) // <=
  {
    _logPath = logPath;
  }
}
```

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

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

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

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