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으로 만들 수 없다면, 코드를 구현하는 다른 방법을 찾아야 해요.
더 알아보기
- Dart 분석기 진단 목록: 이 진단을 포함한 모든 분석기 진단을 볼 수 있어요.
- 라이브러리와 접근성: private 멤버가 동작하는 방식을 배울 수 있어요.