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; } }
}
Debería consultar la serie de tres partes de Jon Rista sobre la configuración de .NET 2.0 en CodeProject.
- Desentrañando los misterios de la configuración de .NET 2.0
- Descifrando los misterios de la configuración de .NET 2.0
- Rompiendo los misterios de la configuración de .NET 2.0
Muy recomendado, bien escrito y extremadamente útil. Aprendí a tratar con secciones de configuración personalizadas de esos excelentes artículos.
Esto te ayudará http://msdn.microsoft.com/en-us/library/2tw134k3(v=vs.80).aspx