Dart Academy · レッスン

カスタムアノテーションの作成

宣言にメタデータを付加します

レッスン 2/413 ステップ

「カスタムアノテーションの作成」はCoddyKit上の無料Dart Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDart Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Dart Academyコースには全4レッスンが含まれています。

アノテーションはクラスである

カスタムアノテーションは、通常のクラスにすぎません。@MyTagと記述すると、そのクラスのインスタンスをメタデータとして参照しています。🏷️

クラスを定義する

まず、メタデータを保持する通常のクラスを宣言します。ここでは、後でメッセージと担当者を保持するシンプルなTodoアノテーションを作成します。

class Todo {
  final String message;
  const Todo(this.message);
}

constコンストラクターのルール

アノテーションの値はコンパイル時定数でなければならないため、コンストラクターはconstでなければなりません。これがないと、そのクラスをアノテーションとして使えません。

アノテーションを適用する

@接頭辞とconstコンストラクションを使います。この@Todoタグは、下にあるメソッドにまだ実装が必要な作業があることを記録します。

@Todo('Add validation')
void saveForm() {}

複数のフィールドを持たせる

アノテーションには好きなだけfieldsを持たせられます。より明確で自己説明的なタグにしたい場合は、コンストラクターに名前付きパラメーターを用意します。

class Todo {
  final String task;
  final String who;
  const Todo(this.task, this.who);
}

定数の引数だけを使う

渡すすべての引数自体がconstantでなければなりません。リテラル、constオブジェクト、enum値は使えますが、実行時変数は使えません。

引数なしのマーカー

単なるフラグだけが必要な場合もあります。データを持たないconstインスタンスは、宣言に付ける純粋なmarkerとして機能します。

class Experimental {
  const Experimental();
}
const experimental = Experimental();

小文字の便利な定数

小文字のconstインスタンスを公開すると、毎回@Experimental()と書く代わりに、簡潔な@experimentalと書けます。

@experimental
void betaFeature() {}

単独では何もしない

組み込みアノテーションと同様、カスタムアノテーション自体には動作がありません。役立てるには何かがreadする必要があります。詳しくは次に説明します。

アノテーションを読むもの

重要な読み手は2種類あります。ビルド時に動作するcode generatorsと、リフレクション型のツールです。どちらもタグを調べ、見つけたメタデータに基づいて処理します。

アノテーションは小さく保つ

よいアノテーションは小さく、declarativeです。ロジックではなく単純なデータを保持すると、どのツールからも予測可能かつ安全に読み取れます。

クイックチェック

クラスをアノテーションとして使うには、何が必要ですか?

まとめ

カスタムアノテーションは、constコンストラクターを持つクラスです。@を付けて適用し、定数の引数を渡すと、後からツールでメタデータを読み取れます。🎉

無料で開始

AI チューターと学ぶ Dart — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「カスタムアノテーションの作成」レッスンは無料ですか?

はい。「カスタムアノテーションの作成」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Dart Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Dart Academyコースには全4レッスンが含まれています。

「カスタムアノテーションの作成」で何を学びますか?

宣言にメタデータを付加します ブラウザで直接実行するハンズオンコードでDart Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Dart Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDart Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「カスタムアノテーションの作成」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDart Academyレッスンでコードを書いて実行できますか?

はい。すべてのDart Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 組み込みアノテーション: override、deprecated
  2. カスタムアノテーションの作成
  3. build_runner によるコード生成
  4. json_serializable の実践
← Dart Academyに戻る