2011-04-19 3 views
0

저는 계약자 중 한 명이 작성한 프로젝트 중 일부를 파고 들었습니다. 예를 들어프로젝트간에 MySettings를 참조 하시겠습니까?

<add key="SomeClass/SomeValue" value="False"/> 
을 사용하여 응용 프로그램의 기본 "app.config"파일에 많은 설정을 저장하는 것으로 보입니다.

그리고이 , 내가 생각, 그것은 또한 거의 짜증 작동

ConfigurationManager.AppSettings.Get("SomeClass/SomeValue") 

동안 사용 "SomeProjectLibrary"의 "SomeClass"클래스의 키 값을 참조. "app.config"파일에 변수를 만드는 좀 더 우아한 방법을 알고 있다면 솔루션 내의 다양한 응용 프로그램에서 사용할 수 있을지 궁금합니다.

바라건대 나는 눈부신 뭔가를 분명히 놓치고 있습니다.

+0

? 열쇠 이름입니까? 아니면 그것들이 모두 하나의 설정 파일에 묶여 있습니까? – taylonr

+0

app.config 파일은 최종 Windows Forms 프로젝트의 구성원이고 "SomeLibraryProject"는 실행중인 프로젝트의 app.config 파일에있는 해당 키의 존재 여부에 의존합니다. 그 부분은 나에게 지저분 해 보인다. – Frosty840

답변

1

설정 파일을 읽으려는 유틸리티 클래스를 만들 수 있습니다. 이 클래스를 별도의 프로젝트 (예 : 유틸리티 프로젝트)에 넣으면이 프로젝트를 다른 모든 프로젝트에서 참조 할 수 있습니다. 예를 들면 :

Public NotInheritable Class ConfigReader 
    Private Shared reader As New AppSettingsReader() 

    Public Shared ReadOnly Property SomeValue() As String 
     Get 
      Return reader.GetValue("SomeClass/SomeValue", GetType(String)).ToString() 
     End Get 
    End Property 

//etc.. 

사용법 : 그것에 대해 우아하지 무엇

string someValue = ConfigReader.SomeValue 
+0

나는 그것을 좋아한다. 그것은 "부풀어 오르는"비명을 지르지 만,이 app.config 파일 중 일부의 모습에서 다른 방법도 마찬가지입니다. 그래서 나는 실제로 어떤 것도 잃지 않습니다. 건배. – Frosty840

관련 문제