Have been seeing the term "Expando" used recently with Dart. Sounds interesting. The API did not provide much of a clue to me.
An example or two could be most helpful!
(Not sure if this is related, but I am most anxious for a way to add methods (getters) and/or variables to a class. Hoping this might be a key to solving this problem. (hint: I am using the Nosuchmethod method now and want to be able to return the value of the unfound method.))
Thanks in advance,
_swarmii
Expandos allow you to associate objects to other objects. One very useful example of this is an HTML DOM element, which cannot itself be sub-classed. Let's make a top-level expando to add some functionality to an element - in this case a Function signature given in the typedef statement:
typedef CustomFunction(int foo, String bar);  Expando<CustomFunction> domFunctionExpando = new Expando<CustomFunction>(); Now to use it:
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'); } If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With