Axapta 如何在运行时重写FormControl方法?

Axapta 如何在运行时重写FormControl方法?,axapta,microsoft-dynamics,x++,dynamics-ax-2009,Axapta,Microsoft Dynamics,X++,Dynamics Ax 2009,我试图在Dynamics AX 2009中创建某种验证框架。 我需要在运行时重写一些FormControl方法 例如,这是MyValidationTool类: void applyValidation(FormControl _control) { _control.overideMethod("modified", this.validate()); } 所以我可以在任何形式的对象中使用它,比如: void init() { MyValidationTool validati

我试图在Dynamics AX 2009中创建某种验证框架。 我需要在运行时重写一些FormControl方法

例如,这是MyValidationTool类:

void applyValidation(FormControl _control)
{
    _control.overideMethod("modified", this.validate());
}
所以我可以在任何形式的对象中使用它,比如:

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

    validationTool.applyValidation(userNameStringEdit);
}
也许我完全错了。
但是,我仍然希望能够回答如何使用X++以编程方式重写方法。

请查看教程表单
tutorial\u form\u AddControl

简而言之,您必须以controlName\u methodToOverride的形式创建方法,例如
myTxt\u validate

如果您不想直接在窗体上,而是在单独的对象上覆盖运行时控件的方法,请查看窗体的方法
controlMethodOverloadObject
-使用该方法,您可以指定在其上调用form controlName\u methodToOverride方法的对象(如果可能)