当前位置 : 主页 > 编程语言 > c语言 >

c# – 在添加到方法时,construct关键字有什么作用?

来源:互联网 收集:自由互联 发布时间:2021-06-25
这里的代码是X.虽然我熟悉C#,但我对它知之甚少. MS表示其语法与C和C#类似. 无论如何,我认为下面的代码是一种方法.它将“Construct”作为关键字. 什么是构造/构造方法?当应用于函数时
这里的代码是X.虽然我熟悉C#,但我对它知之甚少. MS表示其语法与C和C#类似.

无论如何,我认为下面的代码是一种方法.它将“Construct”作为关键字.

什么是构造/构造方法?当应用于函数时,construct关键字会发生什么变化?
此外,我错误地认为代码会创建某种无限循环?

我的假设是它的返回类型为“InventMovement”的方法.

static InventMovement construct(Common buffer, InventMovSubType subType = InventMovSubType::None, Common childBuffer = null)
{
    InventMovement movement = InventMovement::constructNoThrow(buffer,subType,childBuffer);

    if (!movement)
        throw error("@SYS20765");

    return movement;
}

谢谢!
凯文

Construct不是X中的关键字,这只是一个名为construct的静态方法,它返回一个InventMovement类.它用于允许您创建基类的派生类,而无需知道要创建哪个派生类.这就是AX实现Factory模式的方式.您将在许多有抽象基类的地方看到AX中使用的这种模式.

InventMovement是许多其他类的抽象基类,例如InventMov_Purch和InventMov_Sales.您不能在抽象类上调用new(),因此每次需要创建InventMovement类时,不要使用switch语句调用新的InventMov_Purch()或新的InventMov_Sales(),而是使用InventMovement ::构造( )为您调用正确的new()的方法.

网友评论