Mam następującą sekcję konfiguracji stylu niestandardowych ustawień aplikacji
<configSections>
<sectionGroup name="Fruits">
<section name="Colors" />
</sectionGroup>
</configSections>
<Fruits>
<add key="apple" value="red" />
<add key="banana" value="yellow" />
</Fruits>
Próbuję użyć następującego kodu, aby pobrać kolor apple
var settingsCollection = ConfigurationManager.GetSection("Fruits/Colors") as AppSettingsSection;
if (settingsCollection != null)
{
var color= settingsCollection.Settings["apple"];
}
Powyższy kod nie działa, ponieważ settingsCollection
nie otrzymuje żadnego obiektu przypisanego do niego, ponieważ nie można go rzutować do AppSettingsSection.
Kiedy umieszczam następujące w oknie Zegarek, widzę ten typ jako KeyValueInternalCollection
ConfigurationManager.GetSection („Owoce / kolory”) jako AppSettingsSection
czego mi brakuje? Jestem w aplikacji internetowej, więc zakładam, że nie muszę jej używać OpenExeConfiguration
i nie mam takiej metody jak ConfigurationManager.OpenWebConfiguration
jak znalazłem na niektórych forach.
Odpowiedzi:
0 dla odpowiedzi № 1Możesz wypróbować ten fragment kodu.
NameValueCollection Fruits = (NameValueCollection)ConfigurationManager.GetSection("Fruits");
foreach (string key in Fruits.Keys)
{
string[] values = Fruits.GetValues(key);
foreach (string value in values)
{
Label1.Text += key + " - " + value + "<br>";
}
}