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降级,效率反而不如直接插入。")]