geo*_*ler 18 expando nosuchmethod dart
最近在Dart上看到过"Expando"一词.听起来不错.API没有为我提供太多线索.
一两个例子可能是最有帮助的!
(不确定这是否相关,但我最担心的是将方法(getter)和/或变量添加到类中.希望这可能是解决这个问题的关键.(提示:我正在使用Nosuchmethod方法现在,希望能够返回未完成方法的值.))
提前致谢,
_swarmii
Joh*_*ans 14
Expandos允许您将对象关联到其他对象.一个非常有用的例子是HTML DOM元素,它本身不能被分类.让我们创建一个顶级expando来为元素添加一些功能 - 在这种情况下是typedef语句中给出的Function签名:
typedef CustomFunction(int foo, String bar);
Expando<CustomFunction> domFunctionExpando = new Expando<CustomFunction>();
Run Code Online (Sandbox Code Playgroud)
现在使用它:
main(){
// Assumes dart:html is imported
final myElement = new DivElement();
// Use the expando on our DOM element.
domFunctionExpando[myElement] = someFunc;
// Now that we've "attached" the function to our object,
// we can call it like so:
domFunctionExpando[myElement](42, 'expandos are cool');
}
void someFunc(int foo, String bar){
print('Hello. $foo $bar');
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1941 次 |
| 最近记录: |