[VB.NET] Custom Configuration 을 구성해보자. (4)
오늘은 저번에 다룬 내용을 조금 더 심화시켜 보려한다.
음 저번에 다룬 내용은 nested element 를 선언하고 사용하는 방법이었는데 저번에 다룬 nested element 는 단순히 하나의 instance로 제한되어 있었고 코드로 정의된 element 내에서 나타내야만 했다.
이런 element를 Collection 형태로 하거나 element list 로 구성하는 것은 약간은 다른 접근이 필요하다.
이번에도 저번과 마찬가지로 기존에 만들어 오던 소스에 덫붙여 나가도록 하겠다. ^^
먼저 Configuration file 내에 Element를 Collection 혹은 List 형태로 구성하기 위해서는 ConfigurationElementCollection Class 로 부터 상속을 받아야만 한다.
Configuration File 의 <appSettings> Configuration Section을 사용하던 개발자는 Add/Remove/Cear - 짧게는 ARC Map 에 익숙할 터인데 이 ARC Map 은 ASP.NET Web.config 에서 지원되는 Cascading Collection 이다.
ASP.NET 의 경우 하위 Folder Path 의 Web.Config 의 configuration 내용이 상위 폴더의 config 내용에 Add/Remove/Clear 되어 적용된다.
이런 ARC Map 가 기본적인 Type 으로 이와 같은 Configuration을 구성해보려한다.
Configuration 의 내용을 보면 다음과 같다.
1 Imports System.Configuration
2
3 Public Class AddressElement
4 Inherits ConfigurationElement
5
6 Shared _properties As ConfigurationPropertyCollection
7
8 Shared _propertyName As ConfigurationProperty
9 Shared _propertyPhone As ConfigurationProperty
10 Shared _propertyEmail As ConfigurationProperty
11
12 Shared Sub New()
13 _propertyName = New ConfigurationProperty("name", GetType(String), Nothing, ConfigurationPropertyOptions.IsRequired)
14 _propertyPhone = New ConfigurationProperty("phone", GetType(String), Nothing, ConfigurationPropertyOptions.None)
15 _propertyEmail = New ConfigurationProperty("email", GetType(String), Nothing, ConfigurationPropertyOptions.None)
16
17 _properties = New ConfigurationPropertyCollection()
18 _properties.Add(_propertyName)
19 _properties.Add(_propertyPhone)
20 _properties.Add(_propertyEmail)
21 End Sub
22
23 End Class
일단 졸음이 몰려오는 관계루다가... 요까이 먼저 하고...
내일 나머지를 올리는 게 좋을 듯하다... ^^ 죄송.
행복한 고수되셔요...
woojja ))*
\\\\\\\\\\\\\\\\\\\\\\\