#自分用メモ DartでExtension Methodを作る


DartでExtension Method を作ってみる

KotlinでもあったExtension Method(kotlinではExtension function)、Dartでも使いたいなーと思ったら実装されてた

そもそも何?

クラスに独自のメソッドをあと付け出来る機能。便利。

インストール

pubspec.yaml
environment:
  sdk: ">=2.6.0 <3.0.0"

Extension Methodはver2.6で実装されたので、それ以下の場合sdkのバージョンを変更する必要がある

実装


extension E on DateTime{
   bool past() {
    return this.isBefore(DateTime.now());
  }

kotlinと違うのは、外付けクラスを作成すること。↑では"E"がそう(適当な名前)
レファレンスではメソッド名のバッティングを避けるためらしい。
そのあとに on ○○(クラス名)とターゲットのクラスを書く。