官方库包
开发人员可以用来表达意图的注释,否则无法通过静态分析源代码来推论这些意图。
另请参见 dart:core 库中的 @deprecated
和 @override
。
注释提供了语义信息,工具可以使用这些语义信息来提供更好的用户体验。例如,IDE 可能不会自动完成标记为 @deprecated
的函数的名称,或者它可能以不同的方式显示该函数的名称。
有关安装和导入该库的信息,请参见pub.dev上的meta包。有关使用注释的示例,请参阅语言导览中的元数据。
关键字
alwaysThrows → const _AlwaysThrows
Used to annotate a function f
. Indicates that f
always throws an exception. Any functions that override f
, in class inheritance, are also expected to conform to this contract. [...]const _AlwaysThrows()
checked → const _Checked
Used to annotate a parameter of an instance method that overrides another method. [...]@Deprecated('Use the covariant
modifier instead')const _Checked()
doNotStore → const _DoNotStore
Used to annotate a method, getter or top-level getter or function to indicate that the value obtained by invoking it should not be stored in a field or top-level variable. The annotation can also be applied to a class to implicitly annotate all of the valid members of the class, or applied to a library to annotate all of the valid members of the library, including classes. If a value returned by an element marked as doNotStore
is returned from a function or getter, that function or getter should be similarly annotated. [...]const _DoNotStore()
experimental → const _Experimental
Used to annotate a library, or any declaration that is part of the public interface of a library (such as top-level members, class members, and function parameters) to indicate that the annotated API is experimental and may be removed or changed at any-time without updating the version of the containing package, despite the fact that it would otherwise be a breaking change. [...]const _Experimental()
工厂 factory → const _Factory
Used to annotate an instance or static method m
. Indicates that m
must either be abstract or must return a newly allocated object or null
. In addition, every method that either implements or overrides m
is implicitly annotated with this same annotation. [...]const _Factory()
immutable → const Immutable
Used to annotate a class C
. Indicates that C
and all subtypes of C
must be immutable. [...]const [Immutable]
(<https://pub.dev/documentation/meta/latest/meta/Immutable/Immutable.html>)()
internal → const _Internal
Used to annotate a declaration which should only be used from within the package in which it is declared, and which should not be exposed from said package's public API. [...]const _Internal()
isTest → const _IsTest
Used to annotate a test framework function that runs a single test. [...]const _IsTest()
isTestGroup → const _IsTestGroup
Used to annotate a test framework function that runs a group of tests. [...]const _IsTestGroup()
literal → const _Literal
Used to annotate a const constructor c
. Indicates that any invocation of the constructor must use the keyword const
unless one or more of the arguments to the constructor is not a compile-time constant. [...]const _Literal()
强制重写 mustCallSuper → const _MustCallSuper
Used to annotate an instance method m
. Indicates that every invocation of a method that overrides m
must also invoke m
. In addition, every method that overrides m
is implicitly annotated with this same annotation. [...]const _MustCallSuper()
nonVirtual → const _NonVirtual
Used to annotate an instance member (method, getter, setter, operator, or field) m
in a class C
or mixin M
. Indicates that m
should not be overridden in any classes that extend or mixin C
or M
. [...]const _NonVirtual()
optionalTypeArgs → const _OptionalTypeArgs
Used to annotate a class, mixin, or extension declaration C
. Indicates that any type arguments declared on C
are to be treated as optional. Tools such as the analyzer and linter can use this information to suppress warnings that would otherwise require type arguments on C
to be provided.const _OptionalTypeArgs()
保护 protected → const _Protected
Used to annotate an instance member (method, getter, setter, operator, or field) m
in a class C
. If the annotation is on a field it applies to the getter, and setter if appropriate, that are induced by the field. Indicates that m
should only be invoked from instance methods of C
or classes that extend, implement or mix in C
, either directly or indirectly. Additionally indicates that m
should only be invoked on this
, whether explicitly or implicitly. [...]const _Protected()
required → const Required
Used to annotate a named parameter p
in a method or function f
. Indicates that every invocation of f
must include an argument corresponding to p
, despite the fact that p
would otherwise be an optional parameter. [...]const [Required](<https://pub.dev/documentation/meta/latest/meta/Required/Required.html>)()
sealed → const _Sealed
Annotation marking a class as not allowed as a super-type. [...]const _Sealed()
virtual → const _Virtual
Used to annotate a field that is allowed to be overridden in Strong Mode. [...]@Deprecated('No longer has meaning')const _Virtual()
visibleForOverriding → const _VisibleForOverriding
Used to annotate an instance member that was made public so that it could be overridden but that is not intended to be referenced from outside the defining library. [...]const _VisibleForOverriding()
visibleForTesting → const _VisibleForTesting
Used to annotate a declaration that was made public, so that it is more visible than otherwise necessary, to make code testable. [...]const _VisibleForTesting()