C# や Java の属性など
、クラス、メソッド、メソッドのパラメーターの
属性を導入する計画はあり
ますか?
[テスト] クラス SomeClass { [テスト] someMethod() }
また
@テスト クラス SomeClass { @テスト someMethod(@Test int パラメータ) }
多くのフレームワークにとって、それは非常に便利です
C# や Java の属性など
、クラス、メソッド、メソッドのパラメーターの
属性を導入する計画はあり
ますか?
[テスト] クラス SomeClass { [テスト] someMethod() }
また
@テスト クラス SomeClass { @テスト someMethod(@Test int パラメータ) }
多くのフレームワークにとって、それは非常に便利です
ダーツでは、メタデータ/アノテーションと呼ばれます。構文は Java に非常に近いです。例を次に示します。
@Test testMethod() {}
Dart仕様では、次を読むことができます:
メタデータは一連の注釈で構成され、各注釈は文字 @ で始まり、その後に識別子で始まる定数式が続きます。式が次のいずれでもない場合、コンパイル時エラーになります。
- コンパイル時の定数変数への参照。
- 定数コンストラクターへの呼び出し。
[....]
メタデータは、ライブラリ、クラス、typedef、型パラメーター、コンストラクター、ファクトリ、関数、フィールド、パラメーター、または変数の宣言の前、およびインポートまたはエクスポート ディレクティブの前に表示できます。
dart:coreで定義済みのアノテーションがすでにいくつかあります。特に、および。@override
@deprecated
@proxy
Dart にはすでにアノテーションがあり、ある意味で Java に似ていますが、まだ多くの場所で使用されておらず、リフレクションからもまだアクセスできません。
この記事を参照してください: http://news.dartlang.org/2012/06/proposal-to-add-metadata-to-dart.html
以下は、Dart メタ ライブラリで現在利用可能な 2 つのメタデータ アノテーションの簡単な紹介です。
これは、独自のものを使用することを妨げるものではありませんが、Dart エディターとツールが統合されているのはこれら 2 つです。