1

在我的代码中,我有一个参考变量 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
        }

但这并没有解决警告。我在微软论坛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

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

4

0 回答 0