加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 01:31:12 所属栏目:百科 来源:网络整理
导读:这里的代码是X.虽然我熟悉C#,但我对它知之甚少. MS表示其语法与C和C#类似. 无论如何,我认为下面的代码是一种方法.它将“Construct”作为关键字. 什么是构造/构造方法?当应用于函数时,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()的方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读