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()的方法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |