dart中隐式转换运算符的语法是什么?

时间:2013-06-05 21:51:09

标签: dart

我想将自定义类A的实例强制转换为int。隐式强制转换运算符的语法是什么? (我以为我记得有这样的功能,但我无法在网上找到它)

int a = (new A());

2 个答案:

答案 0 :(得分:18)

您还可以使用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

了解详情

答案 1 :(得分:3)

不允许输入注释影响Dart中的行为。如果您没有在检查模式下运行,那么:

int a = new A();

将与此相同:

var a = new A();

在运行时。换句话说,当您未处于选中状态时,我们欢迎您将A存储在注释为int的变量中,但不会进行实际转换。

如果您在检查模式下运行,第一个表单将为您提供运行时异常。

我不确定,但我认为您要求的是一种定义您的班级Aint之间自动转换的方法何时“施放”到int。据我所知,没有这样的事情存在。您应该只定义一个方法来执行此操作。例如:

int a = new A().to_i();