代码分析警告:CA1062真的是假阳性?

时间:2017-08-17 00:23:51

标签: code-analysis false-positive ca1062

在我的代码中,我有一个引用变量LogValidacionPagosDTO

public void InsertarArchivoXmlOk(ArchivoXmlDRO archivo, ref LogValidacionPagosDTO archivoRespuesta)
{
   //Some code
}

执行"代码分析"生成此警告

Warning CA1062  
In externally visible method 'ArchivoXMLOperacion.ValidacionDuplicadosArchivoXmlFosyga(List<RegistroXmlFosygaDRO>, ref LogValidacionPagosDTO)', 
validate local variable ''(*archivoRespuesta)'', which was reassigned from parameter 'archivoRespuesta', before using it.

然后尝试将对象验证为null

public void InsertarArchivoXmlOk(ArchivoXmlDRO archivo, ref LogValidacionPagosDTO archivoRespuesta)
        {
            if (archivoRespuesta == null || archivoRespuesta.DetalleRegistros == null)
                        throw new ExcepcionOperacion(HelperMensaje.Obtener(HelperCodigoMensaje.GEN_0003),
                                                   (int)CodigosHTTP.Error, archivoRespuesta, null);
            //Some code
        }

但这并没有解决警告。我在Microsoft论坛https://social.msdn.microsoft.com/Forums/en-US/fdb00899-c7ea-4e8e-b5f6-9768c2ac0001/ca1062-false-positive-in-externally-visible-method-xxx-validate-local-variable-x-which-was?forum=vstscode

中找到了这个可能的解决方案

但是,我真的需要知道这是否是误报,谢谢!

0 个答案:

没有答案