我想将我的自定义类 A 的实例转换为 int。隐式转换运算符的语法是什么?(我以为我记得有这样的功能,但我在网上找不到)
int a = (new A());
您还可以as
用来帮助告诉工具“不,真的,将此对象视为这种类型”。
一个很好的例子是当你必须处理 dart:html 的querySelector()
函数时。
FormElement form = querySelector('#sign-up') as FormElement;
上面检查了返回的对象querySelector('#sign-up')
是否真的是FormElement的一个实例。
在https://www.dartlang.org/docs/dart-up-and-running/ch02.html#operators了解更多信息
不允许类型注释影响 Dart 中的行为。如果您没有在检查模式下运行,那么:
int a = new A();
将与此相同:
var a = new A();
在运行时。换句话说,当不处于检查模式时,欢迎您将您A
的变量存储在一个注释为 的变量中int
,但不会发生实际转换。
如果你在检查模式下运行,第一个表单会给你一个运行时异常。
我不确定,但我认为您要求的是一种定义类之间转换的方法,A
并且int
当“转换”为int
. 据我所知,不存在这样的事情。您应该简单地定义一个方法来做到这一点。例如:
int a = new A().to_i();