해결된 질문
작성
·
23
0
DashboardViewModel 에서 생성자 생성이후 프로퍼티에 IDateTime을 추가할때 생기는 이슈가 있습니다.
다른 선언위치 App.xaml.cs의 AddSingleton과 DashboardPage.xaml.cs에서 해당 DashboardViewModel을 사용하고 있는데 초기 생성시 생성자에 IDateTime을 할당하는 부분을 확인하지 못해 질문 남깁니다.
오류는
일관성 없는 엑세스 가능성 : 'IDateTime' 매개 변수 형식이 'DachboardViewModel.DashboardViewModel(IDateTime)'메서드 보다 엑세스 하기 어렵습니다.
라는 오류 문구가 발생하였습니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 한건희님!
DashboardViewModel의 생성자에서 IDateTime
이 제대로 주입되지 않은 것 같군요. 이와 관련하여 가장 흔한 문제는 IDateTime
인터페이스 또는 관련 클래스의 접근 수준(access modifier)이 잘못 설정되어 내부나 다른 어셈블리에서 사용이 제한될 때 발생할 수 있습니다.
접근 한정자 확인:
IDateTime
인터페이스와 실제 구현 클래스(DateTimeService
등)의 접근 한정자(access modifier)가 public
인지 확인하세요. 만약 internal
이나 다른 접근 수준으로 되어 있다면, 외부 클래스에서 접근이 불가능할 수 있습니다.App.xaml.cs의 등록 확인:
IDateTime
타입에 대한 등록이 제대로 되었는지 확인하세요. App.xaml.cs
에서 services.AddSingleton<IDateTime, DateTimeService>();
처럼 제대로 등록되어 있어야 합니다.유사한 기존 질문:
이 문제에 대해 더 깊이 설명한 코멘트와 함께 다양한 해결 방법을 참고해 보시고, 접근 수준에 문제가 없는지 특히 주의 깊게 확인해 보세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
IDateTime Interface가 초기 생성시 internal로 선언되어 생성되는 부분이 있네요.
해당 Interface public 선언이후 이슈 수정되었습니다.