У меня есть следующий код:
[SuppressMessage( "Microsoft.Performance", "CA1800:DoNotCastUnnecessarily" )]
private static void SetTestConnectionString( Component table )
{
if( table is Object1 )
{
fn1( (Object1)table );
}
// ... a few more if statements for different Classes
}
Однако, когда я запускаю FxCop
для этого класса / функции, он все равно генерирует предупреждение
предупреждение: CA1800: Microsoft.Performance: «таблица», параметр, есть
приведение к типу "xxx" несколько раз в методе
'Ccc.SetTestConnectionString (Компонент)'. Кэшировать результат «как»
оператор или прямое приведение, чтобы устранить избыточный приведенный класс
инструкция.
Я знаю, что мог бы реорганизовать этот код для удаления предупреждения, однако это сделало бы код менее читабельным В этом случае я хотел бы подавить одно сообщение об этой функции.
Что я делаю не так?