Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Axapta 使用超级方法_Axapta_Dynamics Ax 2012_X++ - Fatal编程技术网

Axapta 使用超级方法

Axapta 使用超级方法,axapta,dynamics-ax-2012,x++,Axapta,Dynamics Ax 2012,X++,我想在Dynamics AX2012中使用super()方法编程 我构建了一个类(“a”)和其中的一些方法。我构建了另一个类(“B”),它从以前的类扩展而来。 我的A班有一些方法。 现在在类“B”中,我想重写一个方法。我会这样做。 我将重写getTable()方法 现在我的问题是 我已经了解到,使用super()这个新方法确实带走了它的一切,从它在motherclass“A”中扩展的方法 但是我如何才能向方法添加更多的内容,以便它提供以前方法中的内容以及我在重写方法中添加的内容?查看getTab

我想在Dynamics AX2012中使用super()方法编程

我构建了一个类(“a”)和其中的一些方法。我构建了另一个类(“B”),它从以前的类扩展而来。
我的A班有一些方法。 现在在类“B”中,我想重写一个方法。我会这样做。 我将重写getTable()方法

现在我的问题是

我已经了解到,使用super()这个新方法确实带走了它的一切,从它在motherclass“A”中扩展的方法


但是我如何才能向方法添加更多的内容,以便它提供以前方法中的内容以及我在重写方法中添加的内容?

查看getTable()的实现,您可能希望使用super()返回的另一个SYCCarBrandTable的值来选择一些SYCCarBrandTable记录as标准+其他新添加的标准

我不知道为什么要这样做,但如果对同一个表变量执行select语句,实际上就是覆盖所有行为,而不是添加任何内容

如果我答对了,您可能需要使用另一个SYCCarBrandTable:

protected SYCCarBrandTable getTable()
{
    SYCCarBrandTable superCar;
    SYCCarBrandTable ret;

    superCar = super();

    select brandid,branddescription from ret
        where ret.CriteriaA = superCar.CriteriaA
        && ret.brandid == "Bentley";

    return ret;
}

再说一遍,我不确定这样一个东西为什么会有用,但这是聚合功能而不是完全覆盖功能的一种示例方法

查看getTable()的实现,您可能希望使用super()返回的另一个SYCCarBrandTable的值作为条件+其他新添加的条件来选择一些SYCCarBrandTable记录

我不知道为什么要这样做,但如果对同一个表变量执行select语句,实际上就是覆盖所有行为,而不是添加任何内容

如果我答对了,您可能需要使用另一个SYCCarBrandTable:

protected SYCCarBrandTable getTable()
{
    SYCCarBrandTable superCar;
    SYCCarBrandTable ret;

    superCar = super();

    select brandid,branddescription from ret
        where ret.CriteriaA = superCar.CriteriaA
        && ret.brandid == "Bentley";

    return ret;
}

再说一遍,我不确定这样一个东西为什么会有用,但这是聚合功能而不是完全覆盖功能的一种示例方法

如果要向select添加其他标准,应使用查询对象并设计select。然后,您应该在基类上创建一个名为modifierQuery()或setQueryRange()的新方法。在这个方法中,您可以根据需要为基类向查询添加范围。当您在类“B”中重写此方法时,可以调用super,然后添加额外的范围,或者只重写不带super()的方法,然后根据需要设置范围。在基类上的getTable方法中,调用modifierQuery()并执行它

如果要向select添加其他标准,应使用查询对象并设计select。然后,您应该在基类上创建一个名为modifierQuery()或setQueryRange()的新方法。在这个方法中,您可以根据需要为基类向查询添加范围。当您在类“B”中重写此方法时,可以调用super,然后添加额外的范围,或者只重写不带super()的方法,然后根据需要设置范围。在基类上的getTable方法中,调用modifierQuery()并执行它

你能显示A.getTable的内容吗?你能显示A.getTable的内容吗?