example editar app c#-4.0 app-config

c# 4.0 - editar - Cómo crear una sección de configuración personalizada en app.config



editar app config c# (3)

Baso todo mi código de gestión de configuración en las clases que recogí aquí . Este es un ejemplo , y aquí hay algo de documentación . Tenga en cuenta que este es el código que personalmente refactoré de una publicación de blog que ya no está disponible en línea.

Deseo agregar la sección de configuración personalizada en el archivo app.config de la siguiente manera

<Companies> <Company name="" code=""/> <Company name="" code=""/> </Companies> <Employees> <Employee name="" Des="" addr="" sal=""/> <Employee name="" Des="" addr="" sal=""/> </Employeess> <Departments> <Department Id="" Projects=""/> </Departments> <Projects> <Project Path=""/> </Projects>

En la sección Departamento se está refiriendo a la sección Proyectos.

¿Alguien puede decirme cómo hacerlo? ¿Y cómo acceder a él en mi código?

@Bhaskar: encuentra el código para tu comentario.

public class RegisterCompaniesConfig : ConfigurationSection { public static RegisterCompaniesConfig GetConfig() { return (RegisterCompaniesConfig)System.Configuration.ConfigurationManager.GetSection("RegisterCompanies")?? new RegisterCompaniesConfig(); } [System.Configuration.ConfigurationProperty("Companies")] public Companies Companies { get { object o = this["Companies"]; return o as Companies; } } } public class Companies : ConfigurationElementCollection { public Company this[int index] { get { return base.BaseGet(index) as Company; } set { if (base.BaseGet(index) != null) { base.BaseRemoveAt(index); } this.BaseAdd(index, value); } } protected override System.Configuration.ConfigurationElement CreateNewElement() { return new Company(); } protected override object GetElementKey(System.Configuration.ConfigurationElement element) { return ((Company)element).Name; } } public class Company : ConfigurationElement { [ConfigurationProperty("name", IsRequired = true)] public string Name { get { return this["name"] as string; } } [ConfigurationProperty("code", IsRequired = true)] public string Code { get { return this["code"] as string; } } }