我有以下代码:
[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:'table',一个参数,在方法'ccc.SetTestConnectionString(Component)'中多次转换为类型'xxx'。缓存“as”运算符或直接转换的结果,以消除多余的 castclass 指令。
我知道我可以重构此代码以删除警告,但是它会使代码的可读性降低。在这种情况下,我想在这一功能上取消这一消息。
我究竟做错了什么?