Dart中的属性

时间:2012-11-06 20:48:10

标签: dart

是否有计划引入属性
类,方法,方法参数,
像C#或Java属性?

    [Test]
    class SomeClass
    {
        [Test]
        someMethod()
    }


要么

    @Test
    class SomeClass
    {
        @Test
        someMethod(@Test int param)
    }

对于许多框架来说,这将非常有用

3 个答案:

答案 0 :(得分:7)

在dart中,它们被称为元数据 / 注释。语法非常接近java。这是一个例子:

@Test testMethod() {}

在Dart规范中,您可以阅读:

  

元数据由一系列注释组成,每个注释以字符@开头,后跟一个以标识符开头的常量表达式。如果表达式不是以下之一,则为编译时错误:

     
      
  • 对编译时常量变量的引用。
  •   
  • 对常量构造函数的调用。
  •   
     

[...]

     

元数据可以出现在库,类,typedef,类型参数,构造函数,工厂,函数,字段,参数或变量声明之前以及导入或导出指令之前。

dart:core中已经预设了一些注释。特别@override@deprecated@proxy

答案 1 :(得分:4)

Dart已经有注释,在某些方面类似于Java,它们在很多地方还没有使用过,而且它们也无法从反射中获取。

请参阅此文章:http://news.dartlang.org/2012/06/proposal-to-add-metadata-to-dart.html

答案 2 :(得分:2)

以下是Dart元库中当前可用的两个元数据注释的简要介绍:

Dart Metadata is your friend.

这并不妨碍您使用自己的,但这些是与Dart编辑器集成工具的两个。