Анализатор обнаружил, что один из параметров конструктора не используется.
Рассмотрим пример.
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. |