Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.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
Firefox addon 如何通过接口名称查找合同ID?_Firefox Addon_Xpcom - Fatal编程技术网

Firefox addon 如何通过接口名称查找合同ID?

Firefox addon 如何通过接口名称查找合同ID?,firefox-addon,xpcom,Firefox Addon,Xpcom,示例:我想在Javascript中使用nsILocalFile接口,如何找到相应的合同ID(“@mozilla.org/file/local;1”)?源代码中有地图吗?您没有。这不是合同和接口之间的一对一关系,而是多对多关系: 合同可访问的单个组件可以实现多个接口 一个接口可以有多个组件实现它,因此可以有多个契约 但是,在实践中通常是一对一的关系。例如,如果我想了解哪些组件实现了nsILocalFile,我会在源代码中搜索它,例如: MXR: 浏览一下结果列表已经告诉我:第1255行--l

示例:我想在Javascript中使用
nsILocalFile
接口,如何找到相应的合同
ID(“@mozilla.org/file/local;1”)
?源代码中有地图吗?

您没有。这不是合同和接口之间的一对一关系,而是多对多关系:

  • 合同可访问的单个组件可以实现多个接口
  • 一个接口可以有多个组件实现它,因此可以有多个契约
但是,在实践中通常是一对一的关系。例如,如果我想了解哪些组件实现了
nsILocalFile
,我会在源代码中搜索它,例如:

  • MXR:
  • 浏览一下结果列表已经告诉我:
    第1255行--let file=Cc[“@mozilla.org/file/local;1”].createInstance(Ci.nsILocalFile)
  • 否则,我必须查看不同结果链接中的文件,从
    .js
    文件开始
其他时候,合同ID甚至在idl本身中指定,例如在(底部)

最常用的接口通常也出现在MDN上,包括合同,例如