能否重写PXHidden类?重写StatementCreateBO函数报错求助
问题解决:Acumatica重写StatementCreateBO方法报错
报错信息如下:
错误根源
重写ProcessCycles方法时,错误地将委托参数指定为RegenerateLastStatementDelegate,而非对应方法的ProcessCyclesDelegate,导致方法签名不匹配,触发报错。
修正后的完整代码
using PX.Data; namespace PX.Objects.AR { // Acuminator disable once PX1016 ExtensionDoesNotDeclareIsActiveMethod extension should be constantly active public class StatementCreateBO_Extension : PXGraphExtension<PX.Objects.AR.StatementCreateBO> { #region Event Handlers public delegate void RegenerateLastStatementDelegate(StatementCycleProcessBO graph, ARStatementCycle aCycle); [PXOverride] public virtual void RegenerateLastStatement(StatementCycleProcessBO graph, ARStatementCycle aCycle, RegenerateLastStatementDelegate baseMethod) { baseMethod(graph, aCycle); } public delegate void ProcessCyclesDelegate(StatementCycleProcessBO graph, ARStatementCycle aCycle); [PXOverride] public virtual void ProcessCycles(StatementCycleProcessBO graph, ARStatementCycle aCycle, ProcessCyclesDelegate baseMethod) { baseMethod(graph, aCycle); } #endregion } }
核心修正点
- 将
ProcessCycles方法的第三个参数类型从RegenerateLastStatementDelegate替换为ProcessCyclesDelegate,确保委托类型与当前重写的方法完全对应,匹配Acumatica的方法重写签名要求。
内容的提问来源于stack exchange,提问作者JvD
相关产品推荐
相关产品推荐

