나는 이것이 오래된 질문이라는 것을 알고있다. 그러나 나는 그 해결책이 간단하고 누군가를 도울 수 있다고 생각했다.
생성 된 설정 클래스는 부분 클래스이므로이를 활용하여 자체 구현을 만들 수 있습니다. 당신이 클래스를 생성, 테스트에서 값을 설정하려면 우리가 다른 곳에서 우리가 Settings.Get .. 를 호출 할 수있는 응용 프로그램을 사용할 때
는
internal partial class Settings : ISettings
{
private static ISettings _setInstance;
internal static ISettings Get
{
get
{
return _setInstance = _setInstance ?? Default;
}
set { _setInstance = value; }
}
}
다음 속성 폴더에 새 파일을 만듭니다 ISettings에서 상속 받고 새 구현을 설정합니다.
테스트가 별도의 프로젝트에서 발견되면 세터를 공개하기 위해 다른 클래스를 추가해야합니다. 다음에 값을 변경하거나 값을 추가 할 때 설정 파일을 덮어 쓰게되므로 설정 파일을 public으로 변경할 수 없습니다.
예, 속성에 의존하지 않음으로써 개체를 더 재사용 할 수 있습니다. 설정 – Benny
"휴식 가능성이 적습니다." 기본값을 조회하면 객체의 실제 작업과 설정 찾기 위치를 아는 두 가지 책임이 있습니다. properties.settings에 의존하는 1000 개의 클래스가 있고 그 데이터가 다른 곳에서 오기를 원한다면 심각한 고통이 될 것입니다! – kyoryu