Dart18.元數據(註解)-@deprecated

所有的 Dart 代碼都可以使用: @deprecated 和 @override。

mata1.dart

import 'todo.dart';

main() {
  dynamic tv = new Television();
  tv.activate();
  tv.turnOn();
  tv.turnOff();
  tv.doSomething();
}

class Television {
  @deprecated
  void activate() {
    turnOn();
  }

  void turnOn() {
    print('Television turn on!');
  }

  @override
  noSuchMethod(Invocation mirror) {
    print('沒有找到方法');
  }

  @Todo(who: 'damon', what: 'create a new method')
  void doSomething() {
    print('doSomething');
  }
}

toto.dart

class Todo {
  final String who;
  final String what;

  const Todo({this.who, this.what});
}

輸出:

D:\flutter\bin\cache\dart-sdk\bin\dart.exe --enable-asserts --enable-vm-service:48868 D:\Code\Flutter\FlutterHello\flutter_app\lib\meta1.dart
lib/meta1.dart: Warning: Interpreting this as package URI, 'package:flutterapp/meta1.dart'.
Observatory listening on http://127.0.0.1:48869/uKs7GjFjfhI=/

Television turn on!
Television turn on!
沒有找到方法
doSomething

Process finished with exit code 0

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章