我正在努力清理XRM存储库(https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/xrm)的定义,并且需要一些指导如何构建定义中的接口。 (这里是一个备忘单,只是为了了解Xrm是如何构造https://drive.google.com/file/d/0B9-OddqJEKamWEs0MV9MMDdsWE0/view)
基本上所有内容都是Xrm.Page
或Xrm.Utility
,但可以深入(Xrm.Page.ui.formSelector
,Xrm.Page.ui.navigation
,Xrm.Page.data.process
等等。我相信这些"名称空间"应该是他们自己的界面。我的问题是你如何构建代码中的接口?把所有东西放在根级别?那么Xrm.Data
(或者XrmPageData
)界面是Xrm.Page.data
?这可能会导致命名冲突,但会使一切变得简单。其他选项是将它们嵌套在找到它们的位置,因此Xrm.Page.Data
模块中存在Xrm.Page
(同名,但不是Xrm.Page
接口)。
目前定义文件正在使用两者,我只是想知道指南/最佳实践是什么。
答案 0 :(得分:1)
简单的事实是,键入的用户将参考XRM文档以获取帮助和示例。从使用角度来看,最明显的方法是使您的类型定义类似于API文档。在这种情况下,这意味着使用您的第二个建议,其中Xrm.Page.data
变为data
,放在Xrm.Page
模块中。