private 세터를 라이브러리 밖에서 접근할 때

private 세터를 라이브러리 밖에서 접근할 때 (private_setter)

private 세터(setter)는 그것이 선언된 라이브러리 밖에서는 접근할 수 없어요. 이 진단은 그걸 무시하고 접근하려 할 때 알려줘요.

출처: private_setter

본문

Dart 분석기(analyzer)는 private 세터가 보이지 않는 라이브러리에서 그 세터를 사용할 때 이 진단을 내요.

예시

먼저 아래 내용이 담긴 a.dart 파일이 있다고 해볼게요.

class A {
  static int _f = 0;
}

이제 아래 코드는 private 세터인 _f를 그 세터가 보이지 않는 곳에서 참조하기 때문에 이 진단을 발생시켜요.

import 'a.dart';

void f() {
  A._f = 0;
}

일반적인 해결 방법

세터를 public으로 만들 수 있다면 그렇게 하면 돼요.

class A {
  static int f = 0;
}

만약 세터를 public으로 만들 수 없다면, 코드를 구현하는 다른 방법을 찾아야 해요.

더 알아보기