У меня есть класс, который наследует от базового класса и реализует следующее ...
Public Function CompareTo(ByVal obj As Object) As Integer Implements System.IComparable.CompareTo
Теперь базовый класс, от которого он наследует, также реализует этот System.IComparable.CompareTo, поэтому я получаю следующее предупреждение компилятора:
Предупреждение: 'System.IComparable.CompareTo' уже реализован базовым классом. Предполагается повторная реализация функции.
Я согласен с этим, поэтому мой вопрос заключается в том, как я могу отключить это предупреждение только для этой функции (т.е. не для всех таких предупреждений).
Пояснения:
- Вот ссылка на ошибку в MSDN.
- Я уже пробовал и тени, и переопределения, и ни одно из них не устраняет предупреждение.
- Предупреждение относится не к самому методу (если только не опущены тени или переопределения), а к конкретному «Реализует System.IComparable.CompareTo».
- Я не собираюсь подавлять все предупреждения этого типа (если они появляются), только это.
Решение:
Я надеялся использовать атрибут System.Diagnostics.CodeAnalysis.SuppressMessage или что-то вроде #pragma в C #, но похоже, что нет способа подавить предупреждение для одной строки. Существует способ отключить это сообщение для этого проекта, не отключая все предупреждения.
Я вручную отредактировал файл .vbproj и включил 42015 в узел для отладки и выпуска компиляций. Не идеально, но лучше, чем всегда видеть предупреждение в IDE.
Если у кого-то есть лучшее решение, добавьте его, и я с удовольствием попробую пометить ответ.