4

是否有 WinRT API 的机器可读版本?

我正在寻找诸如 WebIDL、经典 IDL 或任何其他机器可读格式之类的东西,这些格式将列出可​​在 JavaScript 中访问的 WinRT 的所有类、常量、方法等。

如果它包含上述每个条目的单行描述,和/或相关 MSDN 文档页面的链接,那当然会更好:-)

编辑

  • Windows.winmd 包含描述,但不包含将 IL 应用于 JavaScript 时的规则,有任何官方规范吗?用于类型转换和命名?
  • WinJS 命名空间呢?(不在 Windows.winmd 中)

  • 4

    1 回答 1

    6

    windows.winmd 文件包含 winrt API 的 API 定义——这些定义直接适用于所有三种语言,并且它们是机器可读的。

    正如您在评论中提到的,基于语言投影如何处理类型存在一些细微差别,但这些转换是严格机械的例如,对于 Javascript,投影更改很简单:

    1. 数字类型(int、float、double 等)投影为 Number
    2. 字符串被投影为字符串
    3. DateTime 预计为 Date()
    4. 事件被提升为 addEventListener("(event name)", eventHandler);
    5. 如果一个方法有多个输出参数,则该方法返回一个属性名称与该方法的参数名称匹配的对象。

    毫无疑问,我错过了其他 Javascript 映射,但这些是最重要的。当前支持的其他语言(C++、C#、低级 C++)具有应用于元数据的类似机械转换。

    于 2012-06-01T05:43:30.183 回答