Farseer

导航

D365 FO属性使用不当导致编译错误

系统中定义属性,有些属性的new方法会有入参,指定一些property的值,如果没有正确赋值,在编译的时候会导致编译错误,但是并不会明确告诉

是哪里的问题,只会给出如下图所示的报错。

 当然它会指出具体是哪个类报错了,但不会提示是属性赋值错误导致的。
比如下面的代码。

 是想在某种情况下忽略BP检查,SupressBPWarning这个属性类的new方法有两个入参,并且没有默认值。

public void new(str errorMoniker, str suppressionJustification)
    {
        super();
        moniker = errorMoniker;
        justification = suppressionJustification;
    }

而上面的代码使用的时候只给了第一个入参的值,第二个没赋值,写代码的时候不会给出错误提示,但是编译的时候会出一个风马牛不相及的报错。
如果遇到这种错误,可以考虑最近有没有使用了属性,并且入参赋值是否有问题。
上面这个错误,只要把第二个参数赋值说明忽略BP的原因就可以解决了。

1 [SuppressBPWarning("BPCheckInsertMethodInLoop", "因为表覆盖了insert方法会导致RecordInsertList降级,效率反而不如直接插入。")]

posted on 2020-06-01 21:59  佛西亚  阅读(218)  评论(0编辑  收藏  举报