标签: webidl

如何将常量与C#中的接口相关联?

有些语言允许您将常量与接口相关联:

W3C抽象接口也是如此,例如:

// Introduced in DOM Level 2:
interface CSSValue {

  // UnitTypes
  const unsigned short      CSS_INHERIT                    = 0;
  const unsigned short      CSS_PRIMITIVE_VALUE            = 1;
  const unsigned short      CSS_VALUE_LIST                 = 2;
  const unsigned short      CSS_CUSTOM                     = 3;

  attribute DOMString       cssText;
  attribute unsigned short  cssValueType;
};
Run Code Online (Sandbox Code Playgroud)

我想定义这个接口,以便可以从C#调用它.

显然,C#无法定义与接口关联的常量.

  • 将此类接口转换为C#的常用方法是什么?
  • 是否有任何针对DOM接口的"规范"C#绑定?
  • 虽然C#不能,是否有另一种.NET语言可以定义与接口相关的常量?

c# idl c++-cli webidl

17
推荐指数
5
解决办法
2万
查看次数

Wasm访问DOM

有没有办法在没有JavaScript的情况下获得对DOM和/或WebAPI(即全屏API)的读/写访问权限?

我正在尝试用C构建一个基本的应用程序(C源实际上是从GC语言转换的结果).我正在构建的应用程序将作为桌面应用程序运行(它不打算在"真正的"浏览器中运行)所以我可以根据需要调整环境(即布局引擎).

webidl webassembly

14
推荐指数
2
解决办法
9363
查看次数

为什么Mozilla使用IDL编写JavaScript文档

阅读有关fileReader的文档,并发现他们使用void运算符编写方法,如下所示:

void readAsArrayBuffer (
        in Blob blob
);
Run Code Online (Sandbox Code Playgroud)

只是试着明白为什么他们这样写呢?如果有这种语法的实际用途?

事后证明它根本不是js,而是IDL,它是接口描述语言.

仅供参考:在提出这个问题之前,我会谷歌并阅读JS中的实际void运算符.所以请没有需要让我回来.问题有点模糊,但它必须处理,为什么Mozilla有关于这样编写的JavaScript的文档?在IDL中,实际的JavaScript几乎没有?

javascript api idl webidl

6
推荐指数
1
解决办法
977
查看次数

如何确定 Javascript 数字是否在单精度范围内?

根据ECMAScript 规范,Javascript 数值对应于双精度 64 位二进制格式 IEEE 754 值。

\n\n

对于我目前正在开发的 WebIDL 验证器,我需要能够弄清楚给定的数值是否可以转换为WebIDL 浮点类型,即它是否可以表示为有限单精度 32 位 IEEE 754价值。

\n\n

我目前决定采用以下方法:

\n\n
validate: function(value) {\n    if (typeof value !== \'number\' || !Number.isFinite(value)) {\n        return false;\n    }\n\n    if (value === 0) {\n        return true;\n    }\n\n    var view = new DataView(new ArrayBuffer(4));\n\n    view.setFloat32(0, value);\n\n    var converted = view.getFloat32(0);\n    var relativeError = Math.abs(value - converted) / value;\n\n    return relativeError < Number.EPSILON;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

本质上,我正在做的是:

\n\n
    \n
  1. 将 a 包裹DataView在 4 …

javascript floating-point ieee-754 webidl floating-point-conversion

6
推荐指数
1
解决办法
1550
查看次数