【发布时间】:2021-03-10 16:16:35
【问题描述】:
我正在尝试创建一个图形扩展来修改其中一个移动扫描屏幕的行为,并且我在 2020 R1 的开发人员发行说明中发现能够使用 [PXProtectedAccess] 属性来利用图形的受保护成员来自扩展,即使它不直接继承自它。
但是,为了利用它,Graph Extension 类需要是抽象的,而当我这样做时,Acumatica 似乎不再识别它。我确定我在这里遗漏了一个关键部分,但我无法根据文档弄清楚它是什么。编辑:我错过了类本身的[PXProtectedAccess] 属性。
现在,当我尝试实际调用抽象方法时,我看到了其他东西。当我尝试调用这些受保护成员中的任何一个时,它会抛出 Unable to cast object of type 'Wrapper.PX.Objects.IN.Cst_INScanIssueHost' to type 'INScanIssueHostDynamicInterface'.。我不确定INScanIssueHostDynamicInterface 指的是什么或如何解决这里的类型冲突。
这是我正在使用的代码的摘录:
[PXProtectedAccess]
public abstract class INScanIssue_Extension : PXGraphExtension<INScanIssue, INScanIssueHost>
{
[PXProtectedAccess]
protected abstract void ReportError(string errorMsg, params object[] args);
public delegate void ProcessConfirmDelegate();
[PXOverride]
public virtual void ProcessConfirm(ProcessConfirmDelegate baseMethod)
{
ReportError("TEST");
}
}
【问题讨论】:
标签: acumatica