어떤 형태의 사용자 구성 파일을 참조해야하는 명령 줄 응용 프로그램이 있다고 가정 해 봅니다. 또한이 파일에 포함 된 값은 사용자가 수동으로 업데이트해야합니다. 응용 프로그램 내에서 구성 파일을 업데이트 할 방법이 없으며 응용 프로그램은 일단 시작된 모든 입력을 찾지 않습니다. 구성 목록에 구성 목록이 없으면 대신 기본값을 사용해야합니다.C# 응용 프로그램의 사용자 지정 구성
Visual Studio/.NET Framework에서 이러한 설정 (예 : 설정 및 App.config)을 만드는 데 필요한 도구를 제공하지만 올바르게 사용하고 있는지 잘 모르겠습니다. 모든.
설정 파일을 생성하고 몇 가지 기본 설정을 던졌습니다 (예 : SomeBooleanFlag는 기본값이 'False'인 부울입니다). 이 과정은 물론 내 App.config에 반영되었습니다. 그러나 여기에 딜레마가있는 부분이 있습니다. App.config에서 어떻게 읽어야합니까?
class AppSettings
{
public static bool SomeBooleanFlag
{
get
{
try
{
string rawValue = ConfigurationManager.AppSettings["SomeBooleanFlag"];
bool userSetSomeBooleanFlag;
bool userValueParsed = bool.TryParse(rawValue, out userSetSomeBooleanFlag);
return (userValueParsed) ? userSetSomeBooleanFlag : Settings.Default.SomeBooleanFlag;
}
catch
{
return Settings.Default.SomeBooleanFlag;
}
}
}
}
후 나에게 쓰는 기능 제공 :
현재, 난 도망 추상적으로 구성 관리자/설정 물건 클래스를 만든 그러나
if (AppSettings.SomeBooleanFlag)
{
/* Do Something... */
}
을,이하지 않습니다 위에서 언급 한 문제에 접근하기위한 깨끗한 방법처럼 보입니다. 어떤 도움이라도 대단히 감사하겠습니다!
I을 클래스 대신 일반 도우미 함수를 사용하십시오. 그렇지 않으면 코드가 제게 좋을 것 같습니다. – BradleyDotNET
왜 "문제를 해결할 수있는 깨끗한 방법"이 아닙니까? 그게 뭐가 잘못 됐어? 기본적으로 설정 저장소를 추상화하여 많은 훌륭한 앱 디자이너가하는 일을합니다. 모든 비즈니스 코드는 AppSettings를 호출하여 값을 가져오고 나머지 응용 프로그램에는 영향을 미치지 않고 나중에 레지스트리 또는 데이터베이스와 같은 기본 설정의 원본을 자유롭게 변경할 수 있습니다. 그러나 당신의 * 특정 * 관심사를 모른 채, 나는 당신이 정말로 묻고있는 것을 알 수 없습니다. –
[appSettings 파일 특성] (https://msdn.microsoft.com/en-us/library/system.configuration.appsettingssection.file (v = vs.110) .aspx)을 사용하여 [별도의 구성 파일을 사용하여 기본 설정을 무시하십시오.] (http://stackoverflow.com/questions/27691636/write-appsettings-in-external-file). – Jasen