如何在RunTime上覆盖FormControl方法?

时间:2016-03-24 14:18:18

标签: axapta microsoft-dynamics x++ dynamics-ax-2009

我正在尝试在 Dynamics AX 2009 中制作某种验证框架。 我需要在运行时覆盖一些FormControl方法。

例如,这是 MyValidationTool 类:

void applyValidation(FormControl _control)
{
    _control.overideMethod("modified", this.validate());
}

所以我可以在任何形式的对象中使用它:

void init()
{
    MyValidationTool validationTool = new MyValidationTool();
    ;

    validationTool.applyValidation(userNameStringEdit);
}

也许我完全错了我想要的东西。 但我仍然会理解如何使用X ++以编程方式覆盖方法的答案。

1 个答案:

答案 0 :(得分:3)

查看教程表tutorial_Form_AddControl
简而言之,你需要以controlName_methodToOverride的形式创建方法,例如: myTxt_validate
如果要在表单上直接覆盖运行时控件的方法,而不是在单独的对象上,请查看表单的方法controlMethodOverloadObject - 使用该方法,您可以指定表单controlName_methodToOverride的方法所在的对象如果可能,请调用。