8

C# や Java の属性など
、クラス、メソッド、メソッドのパラメーターの 属性を導入する計画はあり ますか?

    [テスト]
    クラス SomeClass
    {
        [テスト]
        someMethod()
    }


また

    @テスト
    クラス SomeClass
    {
        @テスト
        someMethod(@Test int パラメータ)
    }

多くのフレームワークにとって、それは非常に便利です

4

3 に答える 3

7

ダーツでは、メタデータ/アノテーションと呼ばれます。構文は Java に非常に近いです。例を次に示します。

@Test testMethod() {}

Dart仕様では、次を読むことができます:

メタデータは一連の注釈で構成され、各注釈は文字 @ で始まり、その後に識別子で始まる定数式が続きます。式が次のいずれでもない場合、コンパイル時エラーになります。

  • コンパイル時の定数変数への参照。
  • 定数コンストラクターへの呼び出し。

[....]

メタデータは、ライブラリ、クラス、typedef、型パラメーター、コンストラクター、ファクトリ、関数、フィールド、パラメーター、または変数の宣言の前、およびインポートまたはエクスポート ディレクティブの前に表示できます。

dart:coreで定義済みのアノテーションがすでにいくつかあります。特に、および。@override@deprecated@proxy

于 2012-11-06T21:02:50.730 に答える
4

Dart にはすでにアノテーションがあり、ある意味で Java に似ていますが、まだ多くの場所で使用されておらず、リフレクションからもまだアクセスできません。

この記事を参照してください: http://news.dartlang.org/2012/06/proposal-to-add-metadata-to-dart.html

于 2012-11-06T21:02:22.190 に答える
2

以下は、Dart メタ ライブラリで現在利用可能な 2 つのメタデータ アノテーションの簡単な紹介です。

Dart メタデータはあなたの友達です。

これは、独自のものを使用することを妨げるものではありませんが、Dart エディターとツールが統合されているのはこれら 2 つです。

于 2012-11-06T21:23:07.217 に答える