본문 바로가기
프로그래밍/Flutter-Dart

[Flutter] metadata

by 채연2 2024. 1. 25.

Contents

    metadata

    메타데이터 주석은 @ 문자로 시작하고 그 뒤에 컴파일 타임 상수(예: deprecated)에 대한 참조 또는 상수 생성자에 대한 호출이 온다.

    Dart에서의 메타데이터 주석은 @Deprecated, @deprecated, @override, @pragma 4가지가 있다.

     

    @Deprecated

    class Television {
      /// Use [turnOn] to turn the power on instead.
      @Deprecated('Use turnOn instead')
      void activate() {
        turnOn();
      }
    
      /// Turns the TV's power on.
      void turnOn() {...}
      // ···
    }

     

     

    커스텀 어노테이션

    class Todo {
      final String who;
      final String what;
    
      const Todo(this.who, this.what);
    }
    
    @Todo('Dash', 'Implement this function')
    void doSomething() {
      print('Do something');
    }

     

     

    @override

    인터페이스 멤버를 재정의하는 인터페이스 멤버에 대한 주석이다.

    @override
    initState() {
      super.initState();
    }

     

     

    @pragma

    도구에 대한 힌트이다.

    Dart 프로그램과 함께 작동하는 도구는 선언에 대한 주석으로 동작을 안내하는 힌트를 허용할 수 있다. 각 도구는 어떤 힌트를 허용하는지, 그 의미는 무엇인지, 주석이 달린 엔터티의 하위 부분에 적용할지 여부와 방법을 결정한다.

     

    pragma 힌트를 인식하는 도구는 도구를 식별하기 위해 pragma 접두사를 선택해야 합니다. 그들은 접두사로 시작하는 이름: 과 그 뒤에 해당 도구용으로 의도된 힌트가 이어지는 모든 힌트를 인식해야한다.

    @pragma('Tool:pragma-name', [param1, param2, ...])
    class Foo { }
    
    @pragma('OtherTool:other-pragma')
    void foo() { }

     

     

    320x100

    댓글