How to create a static extension method in Dart?

The docs mean that the extension classes themselves can have static fields and helper methods. These won’t be extensions on the extended class. That is, in your example, Foo.foo() is legal but String.foo() is not.

You currently cannot create extension methods that are static. See https://github.com/dart-lang/language/issues/723.

Note that you also might see Dart extension methods referred to as “static extension methods”, but “static” there means that the extensions are applied statically (i.e., based on the object’s type known at compilation-time, not its runtime type).

Leave a Comment