Ich habe einen benutzerdefinierten Abschnitt zu meiner app.config-Datei für eine Windows Forms-Anwendung hinzugefügt. Ich habe die Klasse, um die Konfigurationsdatei zu verlängern:Problem mit benutzerdefinierten Konfigurationseinstellungen
CustomFields myCustomFields = (CustomFields)System.Configuration.ConfigurationManager.GetSection("CustomFields");
ich die Abschnittsnamen angeben:
<section name="CustomFields" type="Application.Core.CustomFields, ATMCardRequest.Core" allowLocation="true" allowDefinition="Everywhere" />
Hier ist, wo ich denke, das Problem ist. Das Obige hat funktioniert gut vor, aber ich brauche eine Menge von Eigenschaften für diesen Abschnitt und statt dies zu tun:
<CustomFields setting1='hello' setting2='world'/>
Ich tue dies:
<CustomFields>
<property name="setting1">hello</property>
<property name="setting2">world</property>
...
</CustomFields>
Code:
/// <summary>
/// Settings file which holds the name of the XML Fields
/// </summary>
public class setting1: ConfigurationSection
{
/// <summary>
/// Name of the setting1 Field
/// </summary>
[ConfigurationProperty("setting1", IsRequired = true)]
public String setting1
{
get
{
return (String)this["setting1"];
}
set
{
this["setting1"] = value;
}
}
/// <summary>
/// Name of the setting2 Field
/// </summary>
[ConfigurationProperty("setting2",IsRequired = true)]
public String setting2
{
get
{
return (String)this["setting2"];
}
set
{
this["setting2"] = value;
}
}
}
}
Was nicht funktioniert. Anscheinend versteht es die 'Eigenschaft'-Syntax nicht.
Irgendwelche Ideen, was ich falsch mache? Vielen Dank.
Könnten Sie bitte den Code für die LoadValuesFromXml-Methode veröffentlichen? Ich denke, dass Ihr Problem möglicherweise darin besteht, dass Sie die Werte aus dem XmlNode abrufen, der die Informationen aus Ihrem benutzerdefinierten Abschnitt enthält. –
Ich erweitere die Konfigurationseinstellungen. Wird diesen Code hinzufügen. – Damien